]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpRowSegmentLSpecial.h
AliMUONSt12QuadrantSegmentation.cxx
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpRowSegmentLSpecial.h
1 // $Id$
2 // Category: sector
3 //
4 // Class AliMpRowSegmentLSpecial
5 // -----------------------------
6 // Class describing a special inner row segment composed of the 
7 // pad rows.
8 //
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11 #ifndef ALI_MP_ROW_SEGMENT_L_SPECIAL_H
12 #define ALI_MP_ROW_SEGMENT_L_SPECIAL_H
13
14 #include <TVector2.h>
15
16 #include "AliMpSectorTypes.h"
17 #include "AliMpVRowSegmentSpecial.h"
18
19 class AliMpRow;
20 class AliMpPadRow;
21 class AliMpVPadRowSegment;
22 class AliMpIntPair;
23
24 class AliMpRowSegmentLSpecial : public AliMpVRowSegmentSpecial
25 {
26   public:
27     AliMpRowSegmentLSpecial(AliMpRow* row, Double_t offsetX);
28     AliMpRowSegmentLSpecial();
29     virtual ~AliMpRowSegmentLSpecial();
30     
31     // methods
32     virtual void  UpdatePadsOffset();
33     virtual Double_t  LeftBorderX() const;
34     virtual Double_t  RightBorderX() const;
35
36     // geometry
37     virtual TVector2  Position() const;
38
39     // set methods
40     virtual void   SetGlobalIndices(AliMpRow* rowBefore);
41     virtual Int_t  SetIndicesToMotifPosition(Int_t i, 
42                                     const AliMpIntPair& indices);
43
44   protected:
45     // methods
46     virtual TVector2  MotifCenterSlow(Int_t motifPositionId) const;
47     
48   private:
49     // methods
50     AliMpVPadRowSegment* FindMostRightPadRowSegment(Int_t motifPositionId) const;
51     
52   ClassDef(AliMpRowSegmentLSpecial,1)  //Row segment
53 };
54
55 #endif //ALI_MP_ROW_SEGMENT_L_SPECIAL_H