6 // Class describing a row composed of the row segments.
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
16 #include "AliMpSectorTypes.h"
17 #include "AliMpVIndexed.h"
18 #include "AliMpDirection.h"
20 class AliMpVRowSegment;
21 class AliMpVPadIterator;
22 class AliMpMotifPosition;
25 class AliMpRow : public AliMpVIndexed
28 AliMpRow(Int_t id, AliMpMotifMap* motifMap);
33 void AddRowSegment(AliMpVRowSegment* rowSegment);
34 void AddRowSegmentInFront(AliMpVRowSegment* rowSegment);
35 AliMpVRowSegment* FindRowSegment(Double_t x) const;
36 Double_t LowBorderY() const;
37 Double_t UpperBorderY() const;
38 virtual AliMpVPadIterator* CreateIterator() const;
40 void SetRowSegmentOffsets(const TVector2& offset);
41 Double_t SetOffsetY(Double_t offsetY);
42 void SetMotifPositions();
43 void SetGlobalIndices(AliMpDirection constPadSizeDirection,
47 TVector2 Position() const;
48 TVector2 Dimensions() const;
52 Int_t GetNofRowSegments() const;
53 AliMpVRowSegment* GetRowSegment(Int_t i) const;
54 AliMpMotifMap* GetMotifMap() const;
58 AliMpVRowSegment* FindRowSegment(Int_t ix) const;
59 AliMpMotifPosition* FindMotifPosition(AliMpVRowSegment* segment, Int_t ix) const;
60 void SetHighIndicesLimits(Int_t iy);
61 void CheckEmpty() const;
65 Double_t fOffsetY; // the y position of the centre of motifs
66 RowSegmentVector fSegments;// row segments
67 AliMpMotifMap* fMotifMap;// the motif map associated with its sector
69 ClassDef(AliMpRow,1) //Row
74 inline UInt_t AliMpRow::GetID() const { return fID; }
75 inline AliMpMotifMap* AliMpRow::GetMotifMap() const { return fMotifMap; }