Code for MUON Station1 (I.Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPadRowSegment.h
1 // $Id$
2 // ---------------------------------------------------------------
3 // Category: sector
4 //
5 // Class AliMpPadRowSegment
6 // ------------------------
7 // Class describing a pad row segment composed of the 
8 // the identic pads.
9 //
10 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
11
12 #ifndef M_PAD_ROW_SEGMENT_H
13 #define M_PAD_ROW_SEGMENT_H
14
15 #include <TObject.h>
16 #include <TVector2.h>
17
18 class AliMpPadRow;
19 class AliMpMotif;
20
21 class AliMpPadRowSegment : public TObject
22 {
23   public:
24     AliMpPadRowSegment(AliMpPadRow* padRow, AliMpMotif* motif, Int_t motifPositionId,
25                    Int_t nofPads);
26     AliMpPadRowSegment();
27     virtual ~AliMpPadRowSegment();
28
29     // methods
30     virtual Double_t  LeftBorderX() const;
31     virtual Double_t  RightBorderX() const;
32     virtual Double_t  HalfSizeY() const;
33
34     // get methods
35     virtual AliMpPadRow*  GetPadRow() const;
36     virtual AliMpMotif*   GetMotif() const;    
37     virtual Int_t     GetMotifPositionId() const;
38             Int_t     GetNofPads() const {return fNofPads;}     
39
40     // set methods
41     void  SetOffsetX(Double_t offsetX);  
42
43   private:
44     // methods
45     Double_t  FirstPadCenterX() const;
46     Double_t  LastPadCenterX() const;
47     Double_t  FirstPadBorderX() const;
48     Double_t  LastPadBorderX() const;
49
50     // data members
51     Int_t     fNofPads;  //number of pads
52     Double_t  fOffsetX;  //the x position of the right border
53     AliMpPadRow*  fPadRow;   //the pad row containing this segment 
54     AliMpMotif*   fMotif;    //the motif 
55     Int_t     fMotifPositionId;  // the motif position id
56     
57   ClassDef(AliMpPadRowSegment,1)  //Row segment
58 };
59
60 #endif //M_PAD_ROW_SEGMENT_H
61