AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpRow.h
Go to the documentation of this file.
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: AliMpRow.h,v 1.11 2006/05/24 13:58:21 ivana Exp $
6 
12 
13 #ifndef ALI_MP_ROW_H
14 #define ALI_MP_ROW_H
15 
16 #include "AliMpVIndexed.h"
17 #include "AliMpDirection.h"
18 
19 #include <TList.h>
20 
21 class AliMpVRowSegment;
22 class AliMpVPadIterator;
23 class AliMpMotifPosition;
24 class AliMpMotifMap;
25 
26 class AliMpRow : public AliMpVIndexed
27 {
28  public:
29  AliMpRow(Int_t id, AliMpMotifMap* motifMap);
30  AliMpRow();
31  virtual ~AliMpRow();
32 
33  // methods
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;
40 
41  void SetRowSegmentOffsets(Double_t offsetx);
42  Double_t SetOffsetY(Double_t offsetY);
43  void SetMotifPositions();
44  void SetGlobalIndices(AliMp::Direction constPadSizeDirection,
45  AliMpRow* rowBefore);
46 
47  // geometry
48  Double_t GetPositionX() const;
49  Double_t GetPositionY() const;
50  Double_t GetDimensionX() const;
51  Double_t GetDimensionY() const;
52 
53  // get methods
54  UInt_t GetID() const;
55  Int_t GetNofRowSegments() const;
56  AliMpVRowSegment* GetRowSegment(Int_t i) const;
57  AliMpMotifMap* GetMotifMap() const;
58 
59  private:
61  AliMpRow(const AliMpRow& right);
63  AliMpRow& operator = (const AliMpRow& right);
64 
65  // methods
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;
70 
71  // data members
72  UInt_t fID;
73  Double_t fOffsetY;
74  TList fSegments;
76 
77  ClassDef(AliMpRow,1) // Row
78 };
79 
80 // inline functions
81 
83 inline UInt_t AliMpRow::GetID() const { return fID; }
84 
86 inline AliMpMotifMap* AliMpRow::GetMotifMap() const { return fMotifMap; }
87 
88 #endif //ALI_MP_ROW_H
89 
AliMpMotifPosition * FindMotifPosition(AliMpVRowSegment *segment, Int_t ix) const
Definition: AliMpRow.cxx:101
UInt_t GetID() const
Return row ID.
Definition: AliMpRow.h:83
Double_t GetPositionX() const
Definition: AliMpRow.cxx:338
Double_t GetPositionY() const
Definition: AliMpRow.cxx:347
Double_t fOffsetY
the y position of the centre of motifs
Definition: AliMpRow.h:73
void SetRowSegmentOffsets(Double_t offsetx)
Definition: AliMpRow.cxx:372
virtual ~AliMpRow()
Definition: AliMpRow.cxx:71
Double_t LowBorderY() const
Definition: AliMpRow.cxx:197
Double_t UpperBorderY() const
Definition: AliMpRow.cxx:208
UInt_t fID
row ID
Definition: AliMpRow.h:72
Double_t GetDimensionY() const
Definition: AliMpRow.cxx:364
Base class that defines the limits of global pad indices.
Definition: AliMpVIndexed.h:22
AliMpRow()
Definition: AliMpRow.cxx:60
virtual AliMpVPadIterator * CreateIterator() const
Create iterator over this element.
Definition: AliMpRow.cxx:219
An interface for a row segment.
Double_t GetDimensionX() const
Definition: AliMpRow.cxx:355
AliMpVRowSegment * GetRowSegment(Int_t i) const
Definition: AliMpRow.cxx:433
A placed motif.
AliMpVRowSegment * FindRowSegment(Double_t x) const
Definition: AliMpRow.cxx:180
Motif map containers.
Definition: AliMpMotifMap.h:34
TList fSegments
row segments
Definition: AliMpRow.h:74
An interface for an iterator over pads.
void AddRowSegment(AliMpVRowSegment *rowSegment)
Definition: AliMpRow.cxx:164
A row composed of the row segments.
Definition: AliMpRow.h:26
void SetGlobalIndices(AliMp::Direction constPadSizeDirection, AliMpRow *rowBefore)
Definition: AliMpRow.cxx:268
void SetHighIndicesLimits(Int_t iy)
Definition: AliMpRow.cxx:126
Double_t SetOffsetY(Double_t offsetY)
Definition: AliMpRow.cxx:396
AliMpRow & operator=(const AliMpRow &right)
Not implemented.
void AddRowSegmentInFront(AliMpVRowSegment *rowSegment)
Definition: AliMpRow.cxx:172
Int_t GetNofRowSegments() const
Definition: AliMpRow.cxx:425
AliMpMotifMap * fMotifMap
the motif map associated with its sector
Definition: AliMpRow.h:75
AliMpMotifMap * GetMotifMap() const
Return the motif map associated with its sector.
Definition: AliMpRow.h:86
void CheckEmpty() const
Definition: AliMpRow.cxx:151
void SetMotifPositions()
Definition: AliMpRow.cxx:229