41 #include <Riostream.h>
90 found = padRowSegment;
121 Double_t& x, Double_t& y)
const
135 if (!downPadRowSegment || !leftPadRowSegment) {
136 AliErrorStream() <<
"Outside row segment region" << endl;
142 AliFatal(
"Outside row segment region");
172 Double_t leftBorder = DBL_MAX;
176 if (border < leftBorder) leftBorder = border;
179 if (TMath::Abs(sameBorder - leftBorder) > 1.e-04) {
180 AliErrorStream() <<
"WrongBorder" << endl;;
194 Double_t rightBorder = -DBL_MAX;
201 if (border > rightBorder) rightBorder = border;
239 AliFatal(
"Inconsistent indices");
260 for ( Int_t im=0; im<i; im++ ) {
void SetLowIndicesLimit(MpPair_t limit, Bool_t valid=true)
virtual ~AliMpRowSegmentRSpecial()
A pad row composed of the pad row segments.
virtual AliMpRow * GetRow() const
Return the row.which this row segment belongs to.
virtual Double_t LeftBorderX() const
Return the x coordinate of the left border in the global coordinate system.
Int_t GetLowLimitIx() const
Int_t MaxNofPadsInRow() const
virtual Double_t DimensionY() const
Return y dimensions.
Bool_t IsHighLimitValid() const
AliMpVPadRowSegment * FindMostLeftPadRowSegment(Int_t motifPositionId) const
Double_t GetPositionY() const
virtual Double_t LeftBorderX() const =0
AliMpVPadRowSegment * GetPadRowSegment(Int_t i) const
virtual Int_t SetIndicesToMotifPosition(Int_t i, MpPair_t indices)
Set global indices to i-th motif position and returns next index in x.
MpPair_t Pair(Int_t first, Int_t second)
Encode the pair of integers to another integer.
Int_t GetLowLimitIy() const
Int_t GetHighLimitIy() const
Double_t LowBorderY() const
virtual Int_t GetMotifPositionId(Int_t i) const
Return the i-th motif position Id of this row segment.
AliMpPadRow * GetPadRow(Int_t i) const
AliMpMotifType * GetMotifType() const
Return the motif type.
An interface for a row segment.
void SetHighIndicesLimit(MpPair_t limit, Bool_t valid=true)
Double_t HalfSizeY() const
Int_t GetNofPadRowSegments() const
AliMpVRowSegment * GetRowSegment(Int_t i) const
Int_t GetNofPadsX() const
Return number of pads in x direction.
Int_t GetNofPadsY() const
Return number of pads in y direction.
virtual Double_t GetDimensionX() const
Return the x dimension of the row segment centre.
MpPair_t GetLowIndicesLimit() const
A special outer row segment composed of the pad rows.
virtual Double_t RightBorderX() const
Return the x coordinate of the right border in the global coordinate system.
AliMpVPadRowSegment * FindPadRowSegment(Int_t motifPositionId) const
AliMpVMotif * GetMotif() const
Return motif.
virtual AliMpMotif * GetMotif() const
A row composed of the row segments.
virtual void MotifCenterSlow(Int_t motifPositionId, Double_t &x, Double_t &y) const
Return the coordinates of the motif specified with the given motif position Id . ...
AliMpRowSegmentRSpecial()
Int_t GetNofPadRows() const
Abstract base class for a special row segment composed of the pad rows.
virtual Double_t DimensionX() const
Return x dimensions.
static Int_t StartPadIndex()
Return global pad indices start value.
Int_t PairFirst(MpPair_t pair)
Decode the first integer from encoded pair.
AliMpMotifPosition * FindMotifPosition(Int_t motifPositionID) const
Int_t GetNofPads() const
Return number of pads.
virtual void SetGlobalIndices(AliMpRow *rowBefore)
Set global indices limits.
Int_t GetHighLimitIx() const
virtual AliMpPadRow * GetPadRow() const
virtual Double_t GetPositionX() const
Return the x position of the row segment centre.
virtual Int_t GetMotifPositionId() const
void SetGlobalIndicesLow()
AliMpMotifMap * GetMotifMap() const
Return the motif map associated with its sector.
virtual Double_t GetPositionY() const
Return the y position of the row segment centre.
Class that defines the motif properties.
Double_t GetOffsetX() const
Return the x position of the border that touches a standard row segment.
The abstract base class for a pad row segment composed of the the identic pads.