40 #include <Riostream.h>
51 Double_t offsetx, Double_t offsety)
52 : TNamed("Sector", ""),
61 fDirection(direction),
62 fMinPadDimensionX(1.e6),
63 fMinPadDimensionY(1.e6),
64 fMaxPadDimensionX(0.),
65 fMaxPadDimensionY(0.),
71 AliDebugStream(1) <<
"this = " <<
this << endl;
75 for (Int_t izone = 0; izone<nofZones; izone++)
78 for (Int_t irow = 0; irow<nofRows; irow++)
79 fRows.Add(
new AliMpRow(irow, fMotifMap));
94 fDirection(AliMp::
kX),
95 fMinPadDimensionX(0.),
96 fMinPadDimensionY(0.),
97 fMaxPadDimensionX(0.),
98 fMaxPadDimensionY(0.),
104 AliDebugStream(1) <<
"this = " <<
this << endl;
112 AliDebugStream(1) <<
"this = " <<
this << endl;
115 for (Int_t izone = 0; izone<
GetNofZones(); izone++)
118 for (Int_t irow = 0; irow<
GetNofRows(); irow++)
152 if ( ! rowSegment )
return 0;
241 Int_t maxIndexInX = 0;
242 Int_t maxIndexInY = 0;
246 if ( ixh > maxIndexInX ) maxIndexInX = ixh;
249 if ( iyh > maxIndexInY ) maxIndexInY = iyh;
328 cout <<
"ROW " << row->
GetID()
334 cout <<
" ROW Segment " << j
354 if (segment)
return segment->
GetRow();
365 for (Int_t irow=0; irow<
GetNofRows(); irow++) {
416 return fZones.GetEntriesFast();
425 AliWarningStream() <<
"Index outside range" << endl;
437 return fRows.GetEntriesFast();
446 AliWarningStream() <<
"Index outside range" << endl;
virtual Bool_t HasMotifPosition(Int_t motifPositionId) const =0
Has the motif position with the given Id ?
UInt_t GetID() const
Return row ID.
virtual AliMpVPadIterator * CreateIterator() const
Double_t fOffsetX
sector x position
Double_t GetDimensionX() const
virtual AliMpRow * GetRow() const =0
Return the row.which this row segment belongs to.
virtual Double_t GetDimensionX() const =0
Return the x dimension of the row segment centre.
Int_t CalculateNofPads() const
Calculate total number of pads defined in the map.
AliMpMotifMap * fMotifMap
motif map
Int_t fNofPads
total number of pads
Double_t GetPositionY() const
UInt_t GetNofMotifPositions() const
void SetRowSegmentOffsets(Double_t offsetx)
MpPair_t Pair(Int_t first, Int_t second)
Encode the pair of integers to another integer.
Int_t GetHighLimitIy() const
Double_t fMaxPadDimensionX
miximum pad x dimensions
Double_t fOffsetY
sector y position
An iterator over the pads of a sector.
A region of pads of the same dimensions composed of subzones.
virtual void Print(const char *option="ALL") const
Double_t fDimensionX
sector x dimension
AliMp::PlaneType GetPlaneType() const
An interface for a row segment.
virtual void Print(Option_t *opt="") const
Double_t fMinPadDimensionX
minimum pad x dimensions
void PrintGeometry() const
AliMpVRowSegment * GetRowSegment(Int_t i) const
AliMpVRowSegment * FindRowSegment(Double_t x) const
AliMp::Direction GetDirection() const
Return the direction of constant pad size.
An interface for an iterator over pads.
void SetRowSegmentOffsets()
TString PlaneTypeName(AliMp::PlaneType planeType)
Return name for given planeType.
Double_t GetPadDimensionY() const
Return pad y dimensions.
Int_t GetNofZones() const
Double_t GetPositionX() const
Int_t FindMotifPositionId(Double_t x, Double_t y) const
A row composed of the row segments.
Double_t fMinPadDimensionY
minimum pad y dimensions
A sector (quadrant) of the MUON chamber of stations 1 and 2.
Double_t GetPositionY() const
void SetGlobalIndices(AliMp::Direction constPadSizeDirection, AliMpRow *rowBefore)
Double_t SetOffsetY(Double_t offsetY)
AliMpRow * FindRow(Int_t motifPositionId) const
void SetMinMaxPadDimensions()
virtual Double_t LeftBorderX() const =0
Return the x coordinate of the left border in the global coordinate system.
void GetAllMotifPositionsIDs(TArrayI &ecn) const
AliMp::Direction fDirection
the direction of constant pad size
Double_t GetPadDimensionX() const
Return pad x dimensions.
AliMpVRowSegment * FindRowSegment(Int_t motifPositionId) const
Int_t GetNofRowSegments() const
virtual Int_t FindMotifPositionId(Double_t x, Double_t y) const =0
Find the motif position Id in the given positions.
Int_t GetHighLimitIx() const
Double_t GetDimensionY() const
AliMpRow * GetRow(Int_t i) const
Int_t GetNofMotifPositions() const
virtual Double_t RightBorderX() const =0
Return the x coordinate of the right border in the global coordinate system.
AliMpZone * GetZone(Int_t i) const
Double_t fDimensionY
sector y dimension
Double_t fMaxPadDimensionY
miximum pad y dimensions
MpPair_t fLMaxPadIndices
maximum pad indices
void GetAllMotifPositionsIDs(TArrayI &enc) const
Find all motifPositionsIDs (=electronicCardNumbers) handled by this map.