1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpRow.h,v 1.11 2006/05/24 13:58:21 ivana Exp $
9 /// \brief A row composed of the row segments.
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
16 #include "AliMpVIndexed.h"
17 #include "AliMpDirection.h"
21 class AliMpVRowSegment;
22 class AliMpVPadIterator;
23 class AliMpMotifPosition;
26 class AliMpRow : public AliMpVIndexed
29 AliMpRow(Int_t id, AliMpMotifMap* motifMap);
34 void AddRowSegment(AliMpVRowSegment* rowSegment);
35 void AddRowSegmentInFront(AliMpVRowSegment* rowSegment);
36 AliMpVRowSegment* FindRowSegment(Double_t x) const;
37 Double_t LowBorderY() const;
38 Double_t UpperBorderY() const;
39 virtual AliMpVPadIterator* CreateIterator() const;
41 void SetRowSegmentOffsets(Double_t offsetx);
42 Double_t SetOffsetY(Double_t offsetY);
43 void SetMotifPositions();
44 void SetGlobalIndices(AliMp::Direction constPadSizeDirection,
48 Double_t GetPositionX() const;
49 Double_t GetPositionY() const;
50 Double_t GetDimensionX() const;
51 Double_t GetDimensionY() const;
55 Int_t GetNofRowSegments() const;
56 AliMpVRowSegment* GetRowSegment(Int_t i) const;
57 AliMpMotifMap* GetMotifMap() const;
61 AliMpRow(const AliMpRow& right);
63 AliMpRow& operator = (const AliMpRow& right);
66 AliMpVRowSegment* FindRowSegment(Int_t ix) const;
67 AliMpMotifPosition* FindMotifPosition(AliMpVRowSegment* segment, Int_t ix) const;
68 void SetHighIndicesLimits(Int_t iy);
69 void CheckEmpty() const;
72 UInt_t fID; ///< row ID
73 Double_t fOffsetY; ///< the y position of the centre of motifs
74 TList fSegments;///< row segments
75 AliMpMotifMap* fMotifMap;///< the motif map associated with its sector
77 ClassDef(AliMpRow,1) // Row
83 inline UInt_t AliMpRow::GetID() const { return fID; }
85 /// Return the motif map associated with its sector
86 inline AliMpMotifMap* AliMpRow::GetMotifMap() const { return fMotifMap; }