]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpPadRow.h
Mapping test macros (D. Guez, I. Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPadRow.h
1 // $Id$
2 // Category: sector
3 //
4 // Class AliMpPadRow
5 // ------------------
6 // Class describing a pad row composed of the pad row segments.
7 //
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
9
10 #ifndef ALI_MP_PAD_ROW_H
11 #define ALI_MP_PAD_ROW_H
12
13 #include <TObject.h>
14
15 #include "AliMpSectorTypes.h"
16 #include "AliMpXDirection.h"
17
18 class AliMpVPadRowSegment;
19 class AliMpMotif;
20
21 class AliMpPadRow : public TObject
22 {
23   public:
24     AliMpPadRow(AliMpXDirection direction);
25     AliMpPadRow();
26     virtual ~AliMpPadRow();
27   
28     // methods
29     AliMpVPadRowSegment*  AddPadRowSegment(AliMpMotif* motif, 
30                                           Int_t motifPositionId, 
31                                           Int_t nofPads);
32     AliMpVPadRowSegment*  FindPadRowSegment(Double_t x) const;
33     Double_t  HalfSizeY() const;
34     
35     // set methods
36     void  SetID(Int_t id);
37     void  SetOffsetX(Double_t offsetX);
38     
39     // get methods
40     Int_t   GetID() const;
41     Int_t   GetNofPadRowSegments() const;
42     AliMpVPadRowSegment*  GetPadRowSegment(Int_t i) const;
43     Int_t   GetNofPads() const;
44
45   private:
46     // methods
47     Double_t CurrentBorderX() const;
48
49     // data members
50     AliMpXDirection     fDirection;//the pad row x direction
51     Int_t               fID;       //the pad row ID
52     Double_t            fOffsetX;  //the x position of the border
53     PadRowSegmentVector fSegments; //the pad row segments
54
55   ClassDef(AliMpPadRow,1)  //Pad row
56 };
57
58 #endif //ALI_MP_PAD_ROW_H
59