Correct use of ROOT_INCLUDE_DIR
[u/mrichter/AliRoot.git] / MUON / MUONmapping / AliMpRowSegmentRSpecial.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: AliMpRowSegmentRSpecial.h,v 1.9 2006/05/24 13:58:21 ivana Exp $
6
7 /// \ingroup sector
8 /// \class AliMpRowSegmentRSpecial
9 /// \brief A special outer row segment composed of the pad rows.
10 ///
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_ROW_SEGMENT_R_SPECIAL_H
14 #define ALI_MP_ROW_SEGMENT_R_SPECIAL_H
15
16 #include "AliMpVRowSegmentSpecial.h"
17
18 class AliMpRow;
19 class AliMpPadRow;
20 class AliMpVPadRowSegment;
21
22 class AliMpRowSegmentRSpecial : public AliMpVRowSegmentSpecial
23 {
24   public:
25     AliMpRowSegmentRSpecial(AliMpRow* row, Double_t offsetX);
26     AliMpRowSegmentRSpecial();
27     virtual ~AliMpRowSegmentRSpecial();
28     
29     // methods
30                   /// Nothing to be done for outer segments
31     virtual void  UpdatePadsOffset() {}
32     virtual Double_t  LeftBorderX() const;
33     virtual Double_t  RightBorderX() const;
34
35     // geometry
36     virtual Double_t  GetPositionX() const;
37     virtual Double_t  GetPositionY() const;
38
39     // set methods
40     virtual void   SetGlobalIndices(AliMpRow* rowBefore);
41     virtual Int_t  SetIndicesToMotifPosition(Int_t i, MpPair_t indices);
42
43   protected:
44     // methods
45     virtual void  MotifCenterSlow(Int_t motifPositionId, 
46                                   Double_t& x, Double_t& y) const;
47     
48   private:
49     // methods
50     AliMpVPadRowSegment* FindMostLeftPadRowSegment(Int_t motifPositionId) const;
51     void SetGlobalIndicesLow();
52     
53   ClassDef(AliMpRowSegmentRSpecial,1)  // Row segment
54 };
55
56 #endif //ALI_MP_ROW_SEGMENT_R_SPECIAL_H