AliRoot Core  3dc7879 (3dc7879)
AliMpRowSegment Class Reference

A row segment composed of the the identic motifs. More...

#include <AliMpRowSegment.h>

Inheritance diagram for AliMpRowSegment:

Public Member Functions

 AliMpRowSegment (AliMpRow *row, AliMpVMotif *motif, Int_t padOffsetX, Int_t padOffsetY, Int_t nofMotifs, Int_t motifPositionId, Int_t motifPositionDId)
 
 AliMpRowSegment ()
 
virtual ~AliMpRowSegment ()
 
virtual Double_t LeftBorderX () const
 Return the x coordinate of the left border in the global coordinate system. More...
 
virtual Double_t RightBorderX () const
 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 AliMpVMotifFindMotif (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
 Return the x position of the row segment centre. More...
 
virtual Double_t GetPositionY () const
 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 x, Double_t y)
 Calculate offset. More...
 
virtual void SetGlobalIndices (AliMpRow *rowBefore)
 Set global indices limits. More...
 
virtual Int_t SetIndicesToMotifPosition (Int_t i, MpPair_t indices)
 Set global indices to i-th motif position and returns next index in x. More...
 
virtual AliMpRowGetRow () 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 AliMpVMotifGetMotif (Int_t) 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...
 
- Public Member Functions inherited from AliMpVRowSegment
 AliMpVRowSegment ()
 
virtual ~AliMpVRowSegment ()
 
virtual AliMpVPadIteratorCreateIterator () const
 Create iterator over this element. More...
 
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

 AliMpRowSegment (const AliMpRowSegment &right)
 Not implemented. More...
 
AliMpRowSegmentoperator= (const AliMpRowSegment &right)
 Not implemented. More...
 
Double_t FirstMotifCenterX () const
 
Double_t LastMotifCenterX () const
 
Double_t MotifCenterX (Int_t motifPositionId) const
 
Double_t MotifCenterY (Int_t motifPositionId) const
 
Bool_t IsInside (Double_t x, Double_t y, Bool_t warn=true) const
 

Private Attributes

Int_t fNofMotifs
 number of motifs More...
 
MpPair_t fLPadOffset
 the offset in nof pads More...
 
Double_t fOffsetX
 the x position of the centre of the first motif wrt to left border More...
 
Double_t fOffsetY
 the y position of the centre of the first motif wrt to row center More...
 
AliMpRowfRow
 the row containing this segment More...
 
AliMpVMotiffMotif
 the motif More...
 
Int_t fMotifPositionId
 the first motif position id More...
 
Int_t fMotifPositionDId
 +1 if ids are increasing, -1 if decreasing More...
 

Detailed Description

A row segment composed of the the identic motifs.

Author
David Guez, Ivana Hrivnacova; IPN Orsay

Definition at line 21 of file AliMpRowSegment.h.

Constructor & Destructor Documentation

AliMpRowSegment::AliMpRowSegment ( AliMpRow row,
AliMpVMotif motif,
Int_t  padOffsetX,
Int_t  padOffsetY,
Int_t  nofMotifs,
Int_t  motifPositionId,
Int_t  motifPositionDId 
)

Standard constructor

Definition at line 50 of file AliMpRowSegment.cxx.

AliMpRowSegment::AliMpRowSegment ( )

Default constructor

Definition at line 71 of file AliMpRowSegment.cxx.

AliMpRowSegment::~AliMpRowSegment ( )
virtual

Destructor

Definition at line 86 of file AliMpRowSegment.cxx.

AliMpRowSegment::AliMpRowSegment ( const AliMpRowSegment right)
private

Not implemented.

Member Function Documentation

AliMpVMotif * AliMpRowSegment::FindMotif ( Double_t  x,
Double_t  y 
) const
virtual

Find the motif in the given positions.

Return the motif of this row;

Implements AliMpVRowSegment.

Definition at line 196 of file AliMpRowSegment.cxx.

Int_t AliMpRowSegment::FindMotifPositionId ( Double_t  x,
Double_t  y 
) const
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 207 of file AliMpRowSegment.cxx.

Double_t AliMpRowSegment::FirstMotifCenterX ( ) const
private

Return the x coordinate of the first motif center in the global coordinate system.

Definition at line 96 of file AliMpRowSegment.cxx.

Referenced by LeftBorderX().

Double_t AliMpRowSegment::GetDimensionX ( ) const
virtual

Return the x dimension of the row segment centre.

Return the halflengths of the row segment in x, y.

Implements AliMpVRowSegment.

Definition at line 268 of file AliMpRowSegment.cxx.

Double_t AliMpRowSegment::GetDimensionY ( ) const
virtual

Return the y dimension of the row segment centre.

Return the halflengths of the row segment in x, y.

Implements AliMpVRowSegment.

Definition at line 277 of file AliMpRowSegment.cxx.

AliMpVMotif * AliMpRowSegment::GetMotif ( Int_t  i) const
virtual

Return the i-th motif of this row segment.

Return the motif of this row segment.

Implements AliMpVRowSegment.

Definition at line 398 of file AliMpRowSegment.cxx.

Int_t AliMpRowSegment::GetMotifPositionId ( Int_t  i) const
virtual

Return the i-th motif position Id of this row segment.

Return number of motifs in this this row segment.

Implements AliMpVRowSegment.

Definition at line 390 of file AliMpRowSegment.cxx.

Referenced by SetGlobalIndices(), and SetIndicesToMotifPosition().

Int_t AliMpRowSegment::GetNofMotifs ( ) const
virtual

Return the number of motifs in this this row segment.

Return number of motifs in this this row segment.

Implements AliMpVRowSegment.

Definition at line 382 of file AliMpRowSegment.cxx.

Referenced by SetGlobalIndices().

Double_t AliMpRowSegment::GetPositionX ( ) const
virtual

Return the x position of the row segment centre.

Return the x position of the row segment centre.

Implements AliMpVRowSegment.

Definition at line 252 of file AliMpRowSegment.cxx.

Double_t AliMpRowSegment::GetPositionY ( ) const
virtual

Return the y position of the row segment centre.

Return the y position of the row segment centre.

Implements AliMpVRowSegment.

Definition at line 260 of file AliMpRowSegment.cxx.

AliMpRow * AliMpRowSegment::GetRow ( ) const
virtual

Return the row.which this row segment belongs to.

Return the row.which this row segment belongs to.

Implements AliMpVRowSegment.

Definition at line 374 of file AliMpRowSegment.cxx.

Referenced by GetDimensionY(), GetPositionY(), IsInside(), MotifCenterY(), SetGlobalIndices(), and SetIndicesToMotifPosition().

Double_t AliMpRowSegment::HalfSizeY ( ) const
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 188 of file AliMpRowSegment.cxx.

Bool_t AliMpRowSegment::HasMotifPosition ( Int_t  motifPositionId) const
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 223 of file AliMpRowSegment.cxx.

Referenced by MotifCenterX(), and MotifCenterY().

Bool_t AliMpRowSegment::IsInside ( Double_t  x,
Double_t  y,
Bool_t  warn = true 
) const
private

Check if the position is inside some motif of this row segment.

Definition at line 147 of file AliMpRowSegment.cxx.

Referenced by FindMotif(), and FindMotifPositionId().

Double_t AliMpRowSegment::LastMotifCenterX ( ) const
private

Return the x coordinate of the last motif center in the global coordinate system.

Definition at line 105 of file AliMpRowSegment.cxx.

Referenced by RightBorderX().

Double_t AliMpRowSegment::LeftBorderX ( ) const
virtual

Return the x coordinate of the left border in the global coordinate system.

Return the x coordinate of the left row segment border in the global coordinate system.

Implements AliMpVRowSegment.

Definition at line 170 of file AliMpRowSegment.cxx.

Referenced by FindMotifPositionId(), GetDimensionX(), GetPositionX(), and IsInside().

void AliMpRowSegment::MotifCenter ( Int_t  motifPositionId,
Double_t &  x,
Double_t &  y 
) const
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 241 of file AliMpRowSegment.cxx.

Double_t AliMpRowSegment::MotifCenterX ( Int_t  motifPositionId) const
private

Return the x coordinate of the motif specified with the given position identifier.

Definition at line 114 of file AliMpRowSegment.cxx.

Referenced by MotifCenter().

Double_t AliMpRowSegment::MotifCenterY ( Int_t  motifPositionId) const
private

Return the y coordinate of the motif specified with the given position identifier.

Definition at line 132 of file AliMpRowSegment.cxx.

Referenced by MotifCenter().

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

Not implemented.

Double_t AliMpRowSegment::RightBorderX ( ) const
virtual

Return the x coordinate of the right border in the global coordinate system.

Return the x coordinate of the right row segment border in the global coordinate system.

Implements AliMpVRowSegment.

Definition at line 179 of file AliMpRowSegment.cxx.

Referenced by GetDimensionX(), GetPositionX(), and IsInside().

void AliMpRowSegment::SetGlobalIndices ( AliMpRow rowBefore)
virtual

Set global indices limits.

Set global indices limits.

Implements AliMpVRowSegment.

Definition at line 308 of file AliMpRowSegment.cxx.

Int_t AliMpRowSegment::SetIndicesToMotifPosition ( Int_t  i,
MpPair_t  indices 
)
virtual

Set global indices to i-th motif position and returns next index in x.

Set global indices to i-th motif position and returns next index in x.

Implements AliMpVRowSegment.

Definition at line 347 of file AliMpRowSegment.cxx.

void AliMpRowSegment::SetOffset ( Double_t  x,
Double_t  y 
)
virtual

Calculate offset.

Calculate offset from given offset and stored offset in pads.

Implements AliMpVRowSegment.

Definition at line 286 of file AliMpRowSegment.cxx.

Member Data Documentation

MpPair_t AliMpRowSegment::fLPadOffset
private

the offset in nof pads

Definition at line 74 of file AliMpRowSegment.h.

Referenced by SetOffset().

AliMpVMotif* AliMpRowSegment::fMotif
private
Int_t AliMpRowSegment::fMotifPositionDId
private

+1 if ids are increasing, -1 if decreasing

Definition at line 82 of file AliMpRowSegment.h.

Referenced by FindMotifPositionId(), GetMotifPositionId(), HasMotifPosition(), and MotifCenterX().

Int_t AliMpRowSegment::fMotifPositionId
private

the first motif position id

Definition at line 81 of file AliMpRowSegment.h.

Referenced by FindMotifPositionId(), GetMotifPositionId(), HasMotifPosition(), and MotifCenterX().

Int_t AliMpRowSegment::fNofMotifs
private

number of motifs

Definition at line 73 of file AliMpRowSegment.h.

Referenced by GetNofMotifs(), HasMotifPosition(), and LastMotifCenterX().

Double_t AliMpRowSegment::fOffsetX
private

the x position of the centre of the first motif wrt to left border

Definition at line 75 of file AliMpRowSegment.h.

Referenced by FirstMotifCenterX(), LastMotifCenterX(), MotifCenterX(), and SetOffset().

Double_t AliMpRowSegment::fOffsetY
private

the y position of the centre of the first motif wrt to row center

Definition at line 77 of file AliMpRowSegment.h.

Referenced by HalfSizeY(), IsInside(), MotifCenterY(), and SetOffset().

AliMpRow* AliMpRowSegment::fRow
private

the row containing this segment

Definition at line 79 of file AliMpRowSegment.h.

Referenced by GetRow().


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