]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpRowSegmentRSpecial.h
In Print(): added an option to print area borders
[u/mrichter/AliRoot.git] / MUON / mapping / 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 #include <TVector2.h>
19
20 class AliMpRow;
21 class AliMpPadRow;
22 class AliMpVPadRowSegment;
23 class AliMpIntPair;
24
25 class AliMpRowSegmentRSpecial : public AliMpVRowSegmentSpecial
26 {
27   public:
28     AliMpRowSegmentRSpecial(AliMpRow* row, Double_t offsetX);
29     AliMpRowSegmentRSpecial();
30     virtual ~AliMpRowSegmentRSpecial();
31     
32     // methods
33                   /// Nothing to be done for outer segments
34     virtual void  UpdatePadsOffset() {}
35     virtual Double_t  LeftBorderX() const;
36     virtual Double_t  RightBorderX() const;
37
38     // geometry
39     virtual TVector2  Position() const;
40
41     // set methods
42     virtual void   SetGlobalIndices(AliMpRow* rowBefore);
43     virtual Int_t  SetIndicesToMotifPosition(Int_t i, 
44                              const AliMpIntPair& indices);
45
46   protected:
47     // methods
48     virtual TVector2  MotifCenterSlow(Int_t motifPositionId) const;
49     
50   private:
51     // methods
52     AliMpVPadRowSegment* FindMostLeftPadRowSegment(Int_t motifPositionId) const;
53     void SetGlobalIndicesLow();
54     
55   ClassDef(AliMpRowSegmentRSpecial,1)  // Row segment
56 };
57
58 #endif //ALI_MP_ROW_SEGMENT_R_SPECIAL_H