6 // Class describing a row composed of the row segments.
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
15 #include "AliMpSectorTypes.h"
16 #include "AliMpVIndexed.h"
17 #include "AliMpDirection.h"
19 class AliMpVRowSegment;
20 class AliMpVPadIterator;
21 class AliMpMotifPosition;
24 class AliMpRow : public AliMpVIndexed
27 AliMpRow(Int_t id, AliMpMotifMap* motifMap);
32 void AddRowSegment(AliMpVRowSegment* rowSegment);
33 void AddRowSegmentInFront(AliMpVRowSegment* rowSegment);
34 AliMpVRowSegment* FindRowSegment(Double_t x) const;
35 Double_t LowBorderY() const;
36 Double_t UpperBorderY() const;
37 virtual AliMpVPadIterator* CreateIterator() const;
39 void SetRowSegmentOffsets(const TVector2& offset);
40 Double_t SetOffsetY(Double_t offsetY);
41 void SetMotifPositions();
42 void SetGlobalIndices(AliMpDirection constPadSizeDirection,
46 TVector2 Position() const;
47 TVector2 Dimensions() const;
51 Int_t GetNofRowSegments() const;
52 AliMpVRowSegment* GetRowSegment(Int_t i) const;
53 AliMpMotifMap* GetMotifMap() const;
56 AliMpRow(const AliMpRow& right);
57 AliMpRow& operator = (const AliMpRow& right);
61 AliMpVRowSegment* FindRowSegment(Int_t ix) const;
62 AliMpMotifPosition* FindMotifPosition(AliMpVRowSegment* segment, Int_t ix) const;
63 void SetHighIndicesLimits(Int_t iy);
64 void CheckEmpty() const;
68 Double_t fOffsetY; // the y position of the centre of motifs
69 RowSegmentVector fSegments;// row segments
70 AliMpMotifMap* fMotifMap;// the motif map associated with its sector
72 ClassDef(AliMpRow,1) //Row
77 inline UInt_t AliMpRow::GetID() const { return fID; }
78 inline AliMpMotifMap* AliMpRow::GetMotifMap() const { return fMotifMap; }