AliRoot Core  edcc906 (edcc906)
AliMpRow Class Reference

A row composed of the row segments. More...

#include <AliMpRow.h>

Inheritance diagram for AliMpRow:

Public Member Functions

 AliMpRow (Int_t id, AliMpMotifMap *motifMap)
 
 AliMpRow ()
 
virtual ~AliMpRow ()
 
void AddRowSegment (AliMpVRowSegment *rowSegment)
 
void AddRowSegmentInFront (AliMpVRowSegment *rowSegment)
 
AliMpVRowSegmentFindRowSegment (Double_t x) const
 
Double_t LowBorderY () const
 
Double_t UpperBorderY () const
 
virtual AliMpVPadIteratorCreateIterator () const
 Create iterator over this element. More...
 
void SetRowSegmentOffsets (Double_t offsetx)
 
Double_t SetOffsetY (Double_t offsetY)
 
void SetMotifPositions ()
 
void SetGlobalIndices (AliMp::Direction constPadSizeDirection, AliMpRow *rowBefore)
 
Double_t GetPositionX () const
 
Double_t GetPositionY () const
 
Double_t GetDimensionX () const
 
Double_t GetDimensionY () const
 
UInt_t GetID () const
 Return row ID. More...
 
Int_t GetNofRowSegments () const
 
AliMpVRowSegmentGetRowSegment (Int_t i) const
 
AliMpMotifMapGetMotifMap () const
 Return the motif map associated with its sector. More...
 
virtual void Print (Option_t *opt="") const
 
- Public Member Functions inherited from AliMpVIndexed
 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
 

Private Member Functions

 AliMpRow (const AliMpRow &right)
 Not implemented. More...
 
AliMpRowoperator= (const AliMpRow &right)
 Not implemented. More...
 
AliMpVRowSegmentFindRowSegment (Int_t ix) const
 
AliMpMotifPositionFindMotifPosition (AliMpVRowSegment *segment, Int_t ix) const
 
void SetHighIndicesLimits (Int_t iy)
 
void CheckEmpty () const
 

Private Attributes

UInt_t fID
 row ID More...
 
Double_t fOffsetY
 the y position of the centre of motifs More...
 
TList fSegments
 row segments More...
 
AliMpMotifMapfMotifMap
 the motif map associated with its sector More...
 

Detailed Description

A row composed of the row segments.

Author
David Guez, Ivana Hrivnacova; IPN Orsay

Definition at line 26 of file AliMpRow.h.

Constructor & Destructor Documentation

AliMpRow::AliMpRow ( Int_t  id,
AliMpMotifMap motifMap 
)

Standard constructor

Definition at line 49 of file AliMpRow.cxx.

AliMpRow::AliMpRow ( )

Default constructor

Definition at line 60 of file AliMpRow.cxx.

AliMpRow::~AliMpRow ( )
virtual

Destructor

Definition at line 71 of file AliMpRow.cxx.

AliMpRow::AliMpRow ( const AliMpRow right)
private

Not implemented.

Member Function Documentation

void AliMpRow::AddRowSegment ( AliMpVRowSegment rowSegment)

Add row segment at the end.

Definition at line 164 of file AliMpRow.cxx.

Referenced by AliMpSectorReader::ReadRowSegmentsData(), and AliMpSectorReader::ReadRowSpecialData().

void AliMpRow::AddRowSegmentInFront ( AliMpVRowSegment rowSegment)

Insert row segment in the first vector position.

Definition at line 172 of file AliMpRow.cxx.

Referenced by AliMpSectorReader::ReadRowSpecialData().

void AliMpRow::CheckEmpty ( ) const
private

Give a fatal if the row is empty.

Definition at line 151 of file AliMpRow.cxx.

Referenced by LowBorderY(), SetMotifPositions(), SetOffsetY(), SetRowSegmentOffsets(), and UpperBorderY().

AliMpVPadIterator * AliMpRow::CreateIterator ( ) const
virtual

Create iterator over this element.

Iterator is not implemented.

Implements AliMpVIndexed.

Definition at line 219 of file AliMpRow.cxx.

AliMpMotifPosition * AliMpRow::FindMotifPosition ( AliMpVRowSegment segment,
Int_t  ix 
) const
private

Find first motif position in the specified row segment with high indices limit >= ix.

Definition at line 101 of file AliMpRow.cxx.

Referenced by SetGlobalIndices().

AliMpVRowSegment * AliMpRow::FindRowSegment ( Double_t  x) const

Find the row segment for the specified x position; return 0 if no row segment is found.

Definition at line 180 of file AliMpRow.cxx.

Referenced by AliMpSector::FindRowSegment(), and SetGlobalIndices().

AliMpVRowSegment * AliMpRow::FindRowSegment ( Int_t  ix) const
private

Find first normal row segment with low indices limit >= ix.

Definition at line 83 of file AliMpRow.cxx.

Double_t AliMpRow::GetDimensionX ( ) const
Double_t AliMpRow::GetDimensionY ( ) const
UInt_t AliMpRow::GetID ( ) const
inline

Return row ID.

Definition at line 85 of file AliMpRow.h.

Referenced by AliMpRowPainter::Paint(), Print(), and AliMpSector::PrintGeometry().

Double_t AliMpRow::GetPositionX ( ) const
Double_t AliMpRow::LowBorderY ( ) const

Return the lowest row offset (the Y coordinate of the position of the low border of motif).

Definition at line 197 of file AliMpRow.cxx.

Referenced by AliMpVRowSegmentSpecial::FindPadRow(), AliMpRowSegmentLSpecial::MotifCenterSlow(), and AliMpRowSegmentRSpecial::MotifCenterSlow().

AliMpRow& AliMpRow::operator= ( const AliMpRow right)
private

Not implemented.

void AliMpRow::Print ( Option_t *  opt = "") const
virtual

Definition at line 446 of file AliMpRow.cxx.

void AliMpRow::SetGlobalIndices ( AliMp::Direction  constPadSizeDirection,
AliMpRow rowBefore 
)

Set the global indices limits to its row segments, motif positions and itself.

Definition at line 268 of file AliMpRow.cxx.

Referenced by AliMpSector::SetGlobalIndices().

void AliMpRow::SetHighIndicesLimits ( Int_t  iy)
private

Set the global indices high limit to its row segments, motif positions with a given value. Keep ix unmodified.

Definition at line 126 of file AliMpRow.cxx.

void AliMpRow::SetMotifPositions ( )

Create motif positions objects and fills them in the motif map.

Definition at line 229 of file AliMpRow.cxx.

Referenced by AliMpSector::SetMotifPositions().

Double_t AliMpRow::SetOffsetY ( Double_t  offsetY)

Set the row offset (the Y coordinate of the position of the center of motif) and returns the offset of the top border.

Definition at line 396 of file AliMpRow.cxx.

Referenced by AliMpSector::SetRowOffsets().

void AliMpRow::SetRowSegmentOffsets ( Double_t  offsetx)

Set the row segments offsets in X .

Definition at line 372 of file AliMpRow.cxx.

Referenced by AliMpSector::SetRowSegmentOffsets().

Double_t AliMpRow::UpperBorderY ( ) const

Return the uppermost row offset (the Y coordinate of the position of the upper border of motif).

Definition at line 208 of file AliMpRow.cxx.

Member Data Documentation

UInt_t AliMpRow::fID
private

row ID

Definition at line 74 of file AliMpRow.h.

Referenced by GetID().

AliMpMotifMap* AliMpRow::fMotifMap
private

the motif map associated with its sector

Definition at line 77 of file AliMpRow.h.

Referenced by GetMotifMap().

Double_t AliMpRow::fOffsetY
private

the y position of the centre of motifs

Definition at line 75 of file AliMpRow.h.

Referenced by GetPositionY(), LowBorderY(), SetOffsetY(), and UpperBorderY().

TList AliMpRow::fSegments
private

row segments

Definition at line 76 of file AliMpRow.h.

Referenced by AddRowSegment(), AddRowSegmentInFront(), FindRowSegment(), GetNofRowSegments(), GetRowSegment(), and ~AliMpRow().


The documentation for this class was generated from the following files: