4 // Class AliMpVRowSegment
5 // ----------------------
6 // Class describing an interface for a row segment.
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10 #ifndef ALI_MP_V_ROW_SEGMENT_H
11 #define ALI_MP_V_ROW_SEGMENT_H
15 #include "AliMpVIndexed.h"
21 class AliMpVRowSegment : public AliMpVIndexed
25 virtual ~AliMpVRowSegment();
28 virtual Double_t LeftBorderX() const = 0;
29 virtual Double_t RightBorderX() const = 0;
30 virtual Double_t HalfSizeY() const = 0;
31 virtual AliMpVPadIterator* CreateIterator() const;
34 virtual AliMpVMotif* FindMotif(const TVector2& position) const = 0;
35 virtual Int_t FindMotifPositionId(const TVector2& position) const = 0;
36 virtual Bool_t HasMotifPosition(Int_t motifPositionId) const = 0;
37 virtual TVector2 MotifCenter(Int_t motifPositionId) const = 0;
40 virtual TVector2 Position() const = 0;
41 virtual TVector2 Dimensions() const = 0;
44 virtual void SetOffset(const TVector2& offset) = 0;
45 virtual void SetGlobalIndices() = 0;
46 virtual Int_t SetIndicesToMotifPosition(Int_t i,
47 const AliMpIntPair& indices) = 0;
50 virtual AliMpRow* GetRow() const = 0;
51 virtual Int_t GetNofMotifs() const = 0;
52 virtual AliMpVMotif* GetMotif(Int_t i) const = 0;
53 virtual Int_t GetMotifPositionId(Int_t i) const = 0;
55 ClassDef(AliMpVRowSegment,1) //Row segment
58 #endif //ALI_MP_V_ROW_SEGMENT_H