AliRoot Core  3dc7879 (3dc7879)
AliMpMotifSpecial Class Reference

A special motif with varying pad dimensions. More...

#include <AliMpMotifSpecial.h>

Inheritance diagram for AliMpMotifSpecial:

Public Member Functions

 AliMpMotifSpecial (const TString &id, AliMpMotifType *motifType)
 
 AliMpMotifSpecial (TRootIOCtor *ioCtor)
 
virtual ~AliMpMotifSpecial ()
 
virtual void GetPadDimensionsByIndices (MpPair_t localIndices, Double_t &dx, Double_t &dy) const
 Return the dimensions of the pad specified by localIndices. More...
 
virtual void GetPadDimensionsByIndices (Int_t ixLocal, Int_t iyLocal, Double_t &dx, Double_t &dy) const
 Return the dimensions of the pad specified by localIndices. More...
 
virtual Int_t GetNofPadDimensions () const
 Return the number of pad dimensions. More...
 
virtual Double_t GetPadDimensionX (Int_t i) const
 Return the i-th pad x dimension. More...
 
virtual Double_t GetPadDimensionY (Int_t i) const
 Return the i-th pad y dimension. More...
 
void SetPadDimensions (MpPair_t localIndices, Double_t dx, Double_t dy)
 
void SetPadDimensions (Int_t ixLocal, Int_t iyLocal, Double_t dx, Double_t dy)
 
void CalculateDimensions ()
 
virtual Double_t DimensionX () const
 Return x dimensions. More...
 
virtual Double_t DimensionY () const
 Return y dimensions. More...
 
virtual void PadPositionLocal (MpPair_t localIndices, Double_t &posx, Double_t &posy) const
 Fill local position of the pad specified by local indices. More...
 
virtual void PadPositionLocal (Int_t ixLocal, Int_t iyLocal, Double_t &posx, Double_t &posy) const
 Fill local position of the pad specified by local indices. More...
 
virtual MpPair_t PadIndicesLocal (Double_t localPosX, Double_t localPosY) const
 Return local indices of the pad specified by local position. More...
 
TObject * Clone (const char *newid) const
 
- Public Member Functions inherited from AliMpVMotif
 AliMpVMotif (const TString &id, AliMpMotifType *motifType)
 
 AliMpVMotif ()
 
virtual ~AliMpVMotif ()
 
AliMpMotifTypeGetMotifType () const
 Return the motif type. More...
 
TString GetID () const
 Return the motif identifier. More...
 
AliMpConnectionFindConnectionByLocalPos (Double_t localPosX, Double_t localPosY) const
 
virtual void Print (Option_t *option) const
 

Private Member Functions

 AliMpMotifSpecial ()
 Not implemented. More...
 

Private Attributes

Double_t fDimensionX
 motif x dimensions More...
 
Double_t fDimensionY
 motif y dimensions More...
 
AliMpExMap fPadDimensionsVector
 the vector of pad dimensions More...
 
Int_t fNofPadDimensions2
 number of different pad dimensions More...
 
TArrayD fPadDimensions2X
 the vector of x of different pad dimensions More...
 
TArrayD fPadDimensions2Y
 the vector of y of different pad dimensions More...
 

Static Private Attributes

static Int_t fgkPadDimensions2Size = 5
 The fPadDimensionsX/Y2 array size. More...
 

Detailed Description

A special motif with varying pad dimensions.

Author
David Guez, Ivana Hrivnacova; IPN Orsay

Definition at line 24 of file AliMpMotifSpecial.h.

Constructor & Destructor Documentation

AliMpMotifSpecial::AliMpMotifSpecial ( const TString &  id,
AliMpMotifType motifType 
)

Standard constructor.

Definition at line 47 of file AliMpMotifSpecial.cxx.

AliMpMotifSpecial::AliMpMotifSpecial ( TRootIOCtor *  ioCtor)

Root IO constructor

Definition at line 62 of file AliMpMotifSpecial.cxx.

AliMpMotifSpecial::~AliMpMotifSpecial ( )
virtual

Destructor

Definition at line 76 of file AliMpMotifSpecial.cxx.

AliMpMotifSpecial::AliMpMotifSpecial ( )
private

Not implemented.

Referenced by Clone().

Member Function Documentation

void AliMpMotifSpecial::CalculateDimensions ( )

Calculate motif dimensions and keep them in fDimensionX/Y data

Definition at line 158 of file AliMpMotifSpecial.cxx.

Referenced by AliMpMotifReader::BuildMotifSpecial().

TObject * AliMpMotifSpecial::Clone ( const char *  newid) const

< motif y dimensions

< the vector of pad dimensions

< number of different pad dimensions

< the vector of x of different pad dimensions

< the vector of x of different pad dimensions

Definition at line 345 of file AliMpMotifSpecial.cxx.

Double_t AliMpMotifSpecial::DimensionX ( ) const
virtual

Return x dimensions.

Give the dimension of the motif

Implements AliMpVMotif.

Definition at line 189 of file AliMpMotifSpecial.cxx.

Referenced by AliMpPCB::AliMpPCB(), PadIndicesLocal(), and PadPositionLocal().

Double_t AliMpMotifSpecial::DimensionY ( ) const
virtual

Return y dimensions.

Give the dimension of the motif

Implements AliMpVMotif.

Definition at line 197 of file AliMpMotifSpecial.cxx.

Referenced by AliMpPCB::AliMpPCB(), PadIndicesLocal(), and PadPositionLocal().

Int_t AliMpMotifSpecial::GetNofPadDimensions ( ) const
virtual

Return the number of pad dimensions.

Return number of different pad dimensions in this motif

Implements AliMpVMotif.

Definition at line 124 of file AliMpMotifSpecial.cxx.

Referenced by SetPadDimensions().

void AliMpMotifSpecial::GetPadDimensionsByIndices ( MpPair_t  localIndices,
Double_t &  dx,
Double_t &  dy 
) const
virtual

Return the dimensions of the pad specified by localIndices.

Return the dimensions of pad located at the given indices

Implements AliMpVMotif.

Definition at line 88 of file AliMpMotifSpecial.cxx.

Referenced by CalculateDimensions(), PadIndicesLocal(), and PadPositionLocal().

void AliMpMotifSpecial::GetPadDimensionsByIndices ( Int_t  ixLocal,
Int_t  iyLocal,
Double_t &  dx,
Double_t &  dy 
) const
virtual

Return the dimensions of the pad specified by localIndices.

Return the dimensions of pad located at the given indices

Implements AliMpVMotif.

Definition at line 100 of file AliMpMotifSpecial.cxx.

Double_t AliMpMotifSpecial::GetPadDimensionX ( Int_t  i) const
virtual

Return the i-th pad x dimension.

Returns the i-th different pad dimensions

Implements AliMpVMotif.

Definition at line 132 of file AliMpMotifSpecial.cxx.

Double_t AliMpMotifSpecial::GetPadDimensionY ( Int_t  i) const
virtual

Return the i-th pad y dimension.

Returns the i-th different pad dimensions

Implements AliMpVMotif.

Definition at line 145 of file AliMpMotifSpecial.cxx.

MpPair_t AliMpMotifSpecial::PadIndicesLocal ( Double_t  localPosX,
Double_t  localPosY 
) const
virtual

Return local indices of the pad specified by local position.

Return the pad indices from a given local position or -1 if this position doesn't correspond to any valid connection

SOLEIL : This code suppose that

  • 1) all cells have the same size along the Y direction
  • 2) the column 0 is entierly filled

Implements AliMpVMotif.

Definition at line 249 of file AliMpMotifSpecial.cxx.

void AliMpMotifSpecial::PadPositionLocal ( MpPair_t  localIndices,
Double_t &  posx,
Double_t &  posy 
) const
virtual

Fill local position of the pad specified by local indices.

Give the local position of the pad number (ix,iy) (0,0 is the center of the motif)

Implements AliMpVMotif.

Definition at line 206 of file AliMpMotifSpecial.cxx.

void AliMpMotifSpecial::PadPositionLocal ( Int_t  ixLocal,
Int_t  iyLocal,
Double_t &  posx,
Double_t &  posy 
) const
virtual

Fill local position of the pad specified by local indices.

Give the local position of the pad number (ix,iy) (0,0 is the center of the motif)

Implements AliMpVMotif.

Definition at line 220 of file AliMpMotifSpecial.cxx.

void AliMpMotifSpecial::SetPadDimensions ( MpPair_t  localIndices,
Double_t  dx,
Double_t  dy 
)

Set the dimensions of the pad located at localIndices to the given dimensions

Definition at line 304 of file AliMpMotifSpecial.cxx.

Referenced by AliMpMotifReader::BuildMotifSpecial().

void AliMpMotifSpecial::SetPadDimensions ( Int_t  ixLocal,
Int_t  iyLocal,
Double_t  dx,
Double_t  dy 
)

Set the dimensions of the pad located at localIndices to the given dimensions

Definition at line 315 of file AliMpMotifSpecial.cxx.

Member Data Documentation

Double_t AliMpMotifSpecial::fDimensionX
private

motif x dimensions

Definition at line 72 of file AliMpMotifSpecial.h.

Referenced by CalculateDimensions(), Clone(), and DimensionX().

Double_t AliMpMotifSpecial::fDimensionY
private

motif y dimensions

Definition at line 73 of file AliMpMotifSpecial.h.

Referenced by CalculateDimensions(), Clone(), and DimensionY().

Int_t AliMpMotifSpecial::fgkPadDimensions2Size = 5
staticprivate

The fPadDimensionsX/Y2 array size.

Definition at line 69 of file AliMpMotifSpecial.h.

Int_t AliMpMotifSpecial::fNofPadDimensions2
private

number of different pad dimensions

Definition at line 75 of file AliMpMotifSpecial.h.

Referenced by Clone(), GetNofPadDimensions(), GetPadDimensionX(), GetPadDimensionY(), and SetPadDimensions().

TArrayD AliMpMotifSpecial::fPadDimensions2X
private

the vector of x of different pad dimensions

Definition at line 76 of file AliMpMotifSpecial.h.

Referenced by Clone(), GetPadDimensionX(), and SetPadDimensions().

TArrayD AliMpMotifSpecial::fPadDimensions2Y
private

the vector of y of different pad dimensions

Definition at line 77 of file AliMpMotifSpecial.h.

Referenced by Clone(), GetPadDimensionY(), and SetPadDimensions().

AliMpExMap AliMpMotifSpecial::fPadDimensionsVector
private

the vector of pad dimensions

Definition at line 74 of file AliMpMotifSpecial.h.

Referenced by Clone(), GetPadDimensionsByIndices(), and SetPadDimensions().


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