![]() |
AliRoot Core
da88d91 (da88d91)
|
Abstract base class for a special row segment composed of the pad rows. More...
#include <AliMpVRowSegmentSpecial.h>
Public Member Functions | |
AliMpVRowSegmentSpecial (AliMpRow *row, Double_t offsetX) | |
AliMpVRowSegmentSpecial () | |
virtual | ~AliMpVRowSegmentSpecial () |
void | AddPadRow (AliMpPadRow *padRow) |
void | UpdateMotifVector () |
virtual void | UpdatePadsOffset ()=0 |
Update pads offset. More... | |
virtual Double_t | LeftBorderX () const =0 |
Return the x coordinate of the left border in the global coordinate system. More... | |
virtual Double_t | RightBorderX () const =0 |
Return the x coordinate of the right border in the global coordinate system. More... | |
virtual Double_t | HalfSizeY () const |
Return the half size in y of this row segment. More... | |
virtual AliMpVMotif * | FindMotif (Double_t x, Double_t y) const |
Find the motif in the given positions. More... | |
virtual Int_t | FindMotifPositionId (Double_t x, Double_t y) const |
Find the motif position Id in the given positions. More... | |
virtual Bool_t | HasMotifPosition (Int_t motifPositionId) const |
Has the motif position with the given Id ? More... | |
virtual void | MotifCenter (Int_t motifPositionId, Double_t &x, Double_t &y) const |
Fill the coordinates of the motif specified with the given motif position Id. More... | |
virtual Double_t | GetPositionX () const =0 |
Return the x position of the row segment centre. More... | |
virtual Double_t | GetPositionY () const =0 |
Return the y position of the row segment centre. More... | |
virtual Double_t | GetDimensionX () const |
Return the x dimension of the row segment centre. More... | |
virtual Double_t | GetDimensionY () const |
Return the y dimension of the row segment centre. More... | |
virtual void | SetOffset (Double_t, Double_t) |
Calculate offset. More... | |
virtual void | SetGlobalIndices (AliMpRow *rowBefore)=0 |
Set global indices limits. More... | |
virtual Int_t | SetIndicesToMotifPosition (Int_t i, MpPair_t indices)=0 |
Set global indices to i-th motif position and returns next index in x. More... | |
virtual AliMpRow * | GetRow () const |
Return the row.which this row segment belongs to. More... | |
virtual Int_t | GetNofMotifs () const |
Return the number of motifs in this this row segment. More... | |
virtual AliMpVMotif * | GetMotif (Int_t i) const |
Return the i-th motif of this row segment. More... | |
virtual Int_t | GetMotifPositionId (Int_t i) const |
Return the i-th motif position Id of this row segment. More... | |
![]() | |
AliMpVRowSegment () | |
virtual | ~AliMpVRowSegment () |
virtual AliMpVPadIterator * | CreateIterator () const |
Create iterator over this element. More... | |
![]() | |
AliMpVIndexed () | |
virtual | ~AliMpVIndexed () |
virtual MpPair_t | GlobalIndices (MpPair_t localIndices) const |
virtual Int_t | GlobalIx (Int_t localIx) const |
virtual Int_t | GlobalIy (Int_t localIy) const |
void | SetLowIndicesLimit (MpPair_t limit, Bool_t valid=true) |
void | SetLowIndicesLimit (Int_t ix, Int_t iy, Bool_t valid=true) |
void | SetHighIndicesLimit (MpPair_t limit, Bool_t valid=true) |
void | SetHighIndicesLimit (Int_t ix, Int_t iy, Bool_t valid=true) |
Bool_t | HasIndices (MpPair_t indices) const |
Bool_t | HasIndices (Int_t ix, Int_t iy) const |
Bool_t | HasValidIndices () const |
MpPair_t | GetLowIndicesLimit () const |
Int_t | GetLowLimitIx () const |
Int_t | GetLowLimitIy () const |
Bool_t | IsLowLimitValid () const |
MpPair_t | GetHighIndicesLimit () const |
Int_t | GetHighLimitIx () const |
Int_t | GetHighLimitIy () const |
Bool_t | IsHighLimitValid () const |
Protected Member Functions | |
virtual void | MotifCenterSlow (Int_t motifPositionId, Double_t &x, Double_t &y) const =0 |
Return the coordinates of the motif specified with the given motif position Id . More... | |
AliMpPadRow * | FindPadRow (Double_t y) const |
AliMpVPadRowSegment * | FindPadRowSegment (Int_t motifPositionId) const |
MpPair_t | FindRelativeLowIndicesOf (Int_t motifPositionId) const |
Int_t | MaxNofPadsInRow () const |
Bool_t | HasMotif (const AliMpVMotif *motif) const |
Int_t | GetNofPadRows () const |
AliMpPadRow * | GetPadRow (Int_t i) const |
Double_t | GetOffsetX () const |
Return the x position of the border that touches a standard row segment. More... | |
Private Member Functions | |
AliMpVRowSegmentSpecial (const AliMpVRowSegmentSpecial &right) | |
Not implemented. More... | |
AliMpVRowSegmentSpecial & | operator= (const AliMpVRowSegmentSpecial &right) |
Not implemented. More... | |
Private Attributes | |
AliMpRow * | fRow |
the row containing this segment More... | |
Double_t | fOffsetX |
the x position of the border that touches a standard row segment More... | |
TObjArray | fPadRows |
pad rows vector More... | |
TObjArray | fMotifs |
motifs vector More... | |
TArrayI | fMotifPositionIds |
motifs position Ids vector More... | |
Int_t | fNofMotifPositionIds |
number of motif positions Ids More... | |
Static Private Attributes | |
static const Int_t | fgkMaxNofMotifPositionIds = 20 |
dimension of fMotifPositionIds More... | |
Abstract base class for a special row segment composed of the pad rows.
Definition at line 28 of file AliMpVRowSegmentSpecial.h.
AliMpVRowSegmentSpecial::AliMpVRowSegmentSpecial | ( | AliMpRow * | row, |
Double_t | offsetX | ||
) |
Standard constructor
Definition at line 48 of file AliMpVRowSegmentSpecial.cxx.
AliMpVRowSegmentSpecial::AliMpVRowSegmentSpecial | ( | ) |
Default constructor
Definition at line 61 of file AliMpVRowSegmentSpecial.cxx.
|
virtual |
Destructor
Definition at line 76 of file AliMpVRowSegmentSpecial.cxx.
|
private |
Not implemented.
void AliMpVRowSegmentSpecial::AddPadRow | ( | AliMpPadRow * | padRow | ) |
Add a pad row.
Definition at line 214 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpSectorReader::ReadRowSegmentSpecialData().
|
virtual |
Find the motif in the given positions.
Return the motif of this row;
Implements AliMpVRowSegment.
Definition at line 265 of file AliMpVRowSegmentSpecial.cxx.
|
virtual |
Find the motif position Id in the given positions.
Return the motif position identified for the given geometric position.
Implements AliMpVRowSegment.
Definition at line 281 of file AliMpVRowSegmentSpecial.cxx.
|
protected |
Find the pad row in the given y coordinate.
Definition at line 89 of file AliMpVRowSegmentSpecial.cxx.
Referenced by FindMotif(), and FindMotifPositionId().
|
protected |
Find the most down pad row segment with this motifPositionId.
Definition at line 112 of file AliMpVRowSegmentSpecial.cxx.
Referenced by HasMotifPosition(), AliMpRowSegmentLSpecial::MotifCenterSlow(), AliMpRowSegmentRSpecial::MotifCenterSlow(), and AliMpRowSegmentRSpecial::SetIndicesToMotifPosition().
|
protected |
Return the lowest pad indices where the motif of the given position ID exist in this segment.
Definition at line 131 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpRowSegmentLSpecial::SetIndicesToMotifPosition().
|
virtual |
Return the x dimension of the row segment centre.
Return the halflengths in x, y of the row segment rectangular envelope.
Implements AliMpVRowSegment.
Definition at line 330 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpRowSegmentLSpecial::GetPositionX(), and AliMpRowSegmentRSpecial::GetPositionX().
|
virtual |
Return the y dimension of the row segment centre.
Return the halflengths in x, y of the row segment rectangular envelope.
Implements AliMpVRowSegment.
Definition at line 349 of file AliMpVRowSegmentSpecial.cxx.
|
virtual |
Return the i-th motif of this row segment.
Return the i-th motif present in this row segment.
Implements AliMpVRowSegment.
Definition at line 381 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpSectorReader::ReadRowSpecialData().
|
virtual |
Return the i-th motif position Id of this row segment.
Return the i-th motif position Id present in this row segment.
Implements AliMpVRowSegment.
Definition at line 389 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpRowSegmentRSpecial::SetGlobalIndices(), AliMpRowSegmentLSpecial::SetIndicesToMotifPosition(), and AliMpRowSegmentRSpecial::SetIndicesToMotifPosition().
|
virtual |
Return the number of motifs in this this row segment.
Return the number of different motifs present in this row segment.
Implements AliMpVRowSegment.
Definition at line 373 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpSectorReader::ReadRowSpecialData(), and AliMpRowSegmentLSpecial::SetIndicesToMotifPosition().
|
protected |
Return number of pad rows.
Definition at line 194 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AddPadRow(), AliMpRowSegmentRSpecial::FindMostLeftPadRowSegment(), AliMpRowSegmentLSpecial::FindMostRightPadRowSegment(), FindPadRow(), FindPadRowSegment(), FindRelativeLowIndicesOf(), GetDimensionX(), GetDimensionY(), HalfSizeY(), AliMpRowSegmentLSpecial::LeftBorderX(), AliMpRowSegmentRSpecial::LeftBorderX(), MaxNofPadsInRow(), AliMpRowSegmentLSpecial::RightBorderX(), AliMpRowSegmentRSpecial::RightBorderX(), AliMpRowSegmentLSpecial::SetGlobalIndices(), AliMpRowSegmentRSpecial::SetGlobalIndices(), UpdateMotifVector(), and ~AliMpVRowSegmentSpecial().
|
inlineprotected |
Return the x position of the border that touches a standard row segment.
Definition at line 131 of file AliMpVRowSegmentSpecial.h.
Referenced by AliMpRowSegmentLSpecial::GetPositionX(), AliMpRowSegmentRSpecial::GetPositionX(), AliMpRowSegmentRSpecial::LeftBorderX(), and AliMpRowSegmentLSpecial::RightBorderX().
|
protected |
Return number of pad rows.
Definition at line 202 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpRowSegmentRSpecial::FindMostLeftPadRowSegment(), AliMpRowSegmentLSpecial::FindMostRightPadRowSegment(), FindPadRow(), FindPadRowSegment(), FindRelativeLowIndicesOf(), GetDimensionX(), GetDimensionY(), HalfSizeY(), AliMpRowSegmentLSpecial::LeftBorderX(), AliMpRowSegmentRSpecial::LeftBorderX(), MaxNofPadsInRow(), AliMpRowSegmentLSpecial::MotifCenterSlow(), AliMpRowSegmentRSpecial::MotifCenterSlow(), AliMpRowSegmentLSpecial::RightBorderX(), AliMpRowSegmentRSpecial::RightBorderX(), AliMpRowSegmentRSpecial::SetIndicesToMotifPosition(), and UpdateMotifVector().
|
pure virtual |
Return the x position of the row segment centre.
Implements AliMpVRowSegment.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
|
pure virtual |
Return the y position of the row segment centre.
Implements AliMpVRowSegment.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
|
virtual |
Return the row.which this row segment belongs to.
Return the row.which this row segment belongs to.
Implements AliMpVRowSegment.
Definition at line 365 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpRowSegmentLSpecial::GetPositionY(), AliMpRowSegmentRSpecial::GetPositionY(), MotifCenter(), AliMpRowSegmentLSpecial::MotifCenterSlow(), AliMpRowSegmentRSpecial::MotifCenterSlow(), AliMpRowSegmentRSpecial::SetGlobalIndices(), AliMpRowSegmentRSpecial::SetGlobalIndicesLow(), AliMpRowSegmentLSpecial::SetIndicesToMotifPosition(), AliMpRowSegmentRSpecial::SetIndicesToMotifPosition(), and AliMpRowSegmentLSpecial::UpdatePadsOffset().
|
virtual |
Return the half size in y of this row segment.
Return the size in y of this row segment.
Implements AliMpVRowSegment.
Definition at line 252 of file AliMpVRowSegmentSpecial.cxx.
|
protected |
Return true if the specified motif is already in fMotifs vector, returns false otherwise.
Definition at line 182 of file AliMpVRowSegmentSpecial.cxx.
Referenced by UpdateMotifVector().
|
virtual |
Has the motif position with the given Id ?
Return true if the motif specified with the given position identifier is in this segment.
Implements AliMpVRowSegment.
Definition at line 298 of file AliMpVRowSegmentSpecial.cxx.
|
pure virtual |
Return the x coordinate of the left border in the global coordinate system.
Implements AliMpVRowSegment.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
Referenced by GetDimensionX().
|
protected |
Return the maximum number of pads in this row segment along the X direction
Definition at line 165 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpRowSegmentLSpecial::SetGlobalIndices(), AliMpRowSegmentRSpecial::SetGlobalIndices(), AliMpRowSegmentLSpecial::SetIndicesToMotifPosition(), and AliMpRowSegmentLSpecial::UpdatePadsOffset().
|
virtual |
Fill the coordinates of the motif specified with the given motif position Id.
Return the coordinates of the motif specified with the given position identifier.
Implements AliMpVRowSegment.
Definition at line 310 of file AliMpVRowSegmentSpecial.cxx.
|
protectedpure virtual |
Return the coordinates of the motif specified with the given motif position Id
.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
Referenced by MotifCenter().
|
private |
Not implemented.
|
pure virtual |
Return the x coordinate of the right border in the global coordinate system.
Implements AliMpVRowSegment.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
|
pure virtual |
Set global indices limits.
Implements AliMpVRowSegment.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
|
pure virtual |
Set global indices to i-th motif position and returns next index in x.
Implements AliMpVRowSegment.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
|
inlinevirtual |
Calculate offset.
Implements AliMpVRowSegment.
Definition at line 77 of file AliMpVRowSegmentSpecial.h.
void AliMpVRowSegmentSpecial::UpdateMotifVector | ( | ) |
Add motifs associated with the pad row segments in the specified pad row in the fMotifs vector.
Definition at line 225 of file AliMpVRowSegmentSpecial.cxx.
Referenced by AliMpSectorReader::ReadRowSpecialData().
|
pure virtual |
Update pads offset.
Implemented in AliMpRowSegmentRSpecial, and AliMpRowSegmentLSpecial.
Referenced by AliMpSectorReader::ReadRowSpecialData().
|
staticprivate |
dimension of fMotifPositionIds
Definition at line 114 of file AliMpVRowSegmentSpecial.h.
Referenced by AliMpVRowSegmentSpecial(), and UpdateMotifVector().
|
private |
motifs position Ids vector
Definition at line 122 of file AliMpVRowSegmentSpecial.h.
Referenced by AliMpVRowSegmentSpecial(), GetMotifPositionId(), and UpdateMotifVector().
|
private |
motifs vector
Definition at line 121 of file AliMpVRowSegmentSpecial.h.
Referenced by GetMotif(), GetNofMotifs(), HasMotif(), and UpdateMotifVector().
|
private |
number of motif positions Ids
Definition at line 123 of file AliMpVRowSegmentSpecial.h.
Referenced by UpdateMotifVector().
|
private |
the x position of the border that touches a standard row segment
Definition at line 118 of file AliMpVRowSegmentSpecial.h.
Referenced by AddPadRow(), and GetOffsetX().
|
private |
pad rows vector
Definition at line 120 of file AliMpVRowSegmentSpecial.h.
Referenced by AddPadRow(), GetNofPadRows(), GetPadRow(), and ~AliMpVRowSegmentSpecial().
|
private |
the row containing this segment
Definition at line 117 of file AliMpVRowSegmentSpecial.h.
Referenced by FindPadRow(), and GetRow().