]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpPadRow.h
d469c7925bf716d5cbf58ae01a4908c028fd48a3
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPadRow.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpPadRow.h,v 1.6 2005/08/26 15:43:36 ivana Exp $
6
7 /// \ingroup sector
8 /// \class AliMpPadRow
9 /// \brief A pad row composed of the pad row segments.
10 ///
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_PAD_ROW_H
14 #define ALI_MP_PAD_ROW_H
15
16 #include <TObject.h>
17
18 #include "AliMpSectorTypes.h"
19 #include "AliMpXDirection.h"
20
21 class AliMpVPadRowSegment;
22 class AliMpMotif;
23
24 class AliMpPadRow : public TObject
25 {
26   public:
27     AliMpPadRow(AliMpXDirection direction);
28     AliMpPadRow();
29     virtual ~AliMpPadRow();
30   
31     // methods
32     AliMpVPadRowSegment*  AddPadRowSegment(AliMpMotif* motif, 
33                                           Int_t motifPositionId, 
34                                           Int_t nofPads);
35     AliMpVPadRowSegment*  FindPadRowSegment(Double_t x) const;
36     Double_t  HalfSizeY() const;
37     
38     // set methods
39     void  SetID(Int_t id);
40     void  SetOffsetX(Double_t offsetX);
41     
42     // get methods
43     Int_t   GetID() const;
44     Int_t   GetNofPadRowSegments() const;
45     AliMpVPadRowSegment*  GetPadRowSegment(Int_t i) const;
46     Int_t   GetNofPads() const;
47
48   private:
49     // methods
50     Double_t CurrentBorderX() const;
51
52     // data members
53     AliMpXDirection     fDirection;//the pad row x direction
54     Int_t               fID;       //the pad row ID
55     Double_t            fOffsetX;  //the x position of the border
56     PadRowSegmentVector fSegments; //the pad row segments
57
58   ClassDef(AliMpPadRow,1)  //Pad row
59 };
60
61 #endif //ALI_MP_PAD_ROW_H
62