AliRoot Core  edcc906 (edcc906)
AliMpMotifType Class Reference

Class that defines the motif properties. More...

#include <AliMpMotifType.h>

Inheritance diagram for AliMpMotifType:

Public Member Functions

 AliMpMotifType (const TString &id)
 
 AliMpMotifType (const AliMpMotifType &rhs)
 
AliMpMotifTypeoperator= (const AliMpMotifType &rhs)
 
 AliMpMotifType (TRootIOCtor *ioCtor)
 
virtual ~AliMpMotifType ()
 
TObject * Clone (const char *newname="") const
 
virtual AliMpVPadIteratorCreateIterator () const
 
AliMpConnectionFindConnectionByPadNum (Int_t padNum) const
 
AliMpConnectionFindConnectionByLocalIndices (MpPair_t localIndices) const
 
AliMpConnectionFindConnectionByLocalIndices (Int_t localIx, Int_t localIy) const
 
AliMpConnectionFindConnectionByGassiNum (Int_t gassiNum) const
 
AliMpConnectionFindConnectionByKaptonNum (Int_t kaptonNum) const
 
AliMpConnectionFindConnectionByBergNum (Int_t bergNum) const
 
MpPair_t FindLocalIndicesByPadNum (Int_t padNum) const
 
MpPair_t FindLocalIndicesByGassiNum (Int_t gassiNum) const
 
MpPair_t FindLocalIndicesByKaptonNum (Int_t kaptonNum) const
 
MpPair_t FindLocalIndicesByBergNum (Int_t bergNum) const
 
MpPair_t FindLocalIndicesByConnection (const AliMpConnection *connection) const
 
void SetNofPads (Int_t nofPadsX, Int_t nofPadY)
 
TString GetID () const
 Return unique motif ID. More...
 
Int_t GetNofPadsX () const
 Return number of pads in x direction. More...
 
Int_t GetNofPadsY () const
 Return number of pads in y direction. More...
 
Int_t GetNofPads () const
 Return the total number of pads. More...
 
Bool_t AddConnection (AliMpConnection *connection)
 
virtual void Print (Option_t *option="") const
 
Int_t PadNum (const TString &padName) const
 
TString PadName (Int_t padNum) const
 
Bool_t HasPadByLocalIndices (MpPair_t localIndices) const
 
Bool_t HasPadByLocalIndices (Int_t localIx, Int_t localIy) const
 
Bool_t HasPadByManuChannel (Int_t manuChannel) const
 
Bool_t HasPadByGassiNum (Int_t gassiNum) const
 Return whether the pad with given manu channel exists. More...
 
Bool_t IsFull () const
 Return true if the motif conatins all pads. More...
 
Bool_t Save (const char *motifName) const
 
Bool_t Save () const
 

Private Member Functions

 AliMpMotifType ()
 Not implemented. More...
 
void Copy (TObject &o) const
 

Private Attributes

TString fID
 unique motif ID More...
 
Int_t fNofPadsX
 number of pads in x direction More...
 
Int_t fNofPadsY
 number of pads in y direction More...
 
Int_t fNofPads
 total number of pads (= the number of non-void entries in the arrays below) More...
 
Int_t fMaxNofPads
 max number of pads we can hold More...
 
TObjArray fConnectionsByLocalIndices
 array [ix + 64*iy ] -> AliMpConnection* More...
 
TObjArray fConnectionsByManuChannel
 array [manuChannel] -> AliMpConnection* More...
 

Static Private Attributes

static const Int_t fgkPadNumForA = 65
 the pad number for the pad "A" More...
 

Detailed Description

Class that defines the motif properties.

Author
David Guez, Ivana Hrivnacova; IPN Orsay

Definition at line 29 of file AliMpMotifType.h.

Constructor & Destructor Documentation

AliMpMotifType::AliMpMotifType ( const TString &  id)

Standard constructor
Please note that id should be of the form s for station 1,2,

Definition at line 54 of file AliMpMotifType.cxx.

AliMpMotifType::AliMpMotifType ( const AliMpMotifType rhs)

Copy constructor

Definition at line 89 of file AliMpMotifType.cxx.

AliMpMotifType::AliMpMotifType ( TRootIOCtor *  ioCtor)

Default constructor

Definition at line 74 of file AliMpMotifType.cxx.

AliMpMotifType::~AliMpMotifType ( )
virtual

Destructor

Definition at line 146 of file AliMpMotifType.cxx.

AliMpMotifType::AliMpMotifType ( )
private

Not implemented.

Referenced by Clone(), and HasPadByGassiNum().

Member Function Documentation

Bool_t AliMpMotifType::AddConnection ( AliMpConnection connection)

Add the connection to the map

Definition at line 195 of file AliMpMotifType.cxx.

Referenced by AliMpMotifReader::BuildMotifType(), and GetNofPads().

TObject * AliMpMotifType::Clone ( const char *  newname = "") const

Returns a full copy of this object

Definition at line 117 of file AliMpMotifType.cxx.

void AliMpMotifType::Copy ( TObject &  o) const
private

Copy object

Definition at line 130 of file AliMpMotifType.cxx.

Referenced by AliMpMotifType(), HasPadByGassiNum(), and operator=().

AliMpVPadIterator * AliMpMotifType::CreateIterator ( ) const
virtual

Create new motif type iterator

Definition at line 154 of file AliMpMotifType.cxx.

AliMpConnection * AliMpMotifType::FindConnectionByBergNum ( Int_t  bergNum) const

Retrieve the connection from a Berg connector number Inefficient method as we loop over connections to find the right one

Definition at line 313 of file AliMpMotifType.cxx.

Referenced by FindLocalIndicesByBergNum().

AliMpConnection * AliMpMotifType::FindConnectionByGassiNum ( Int_t  gassiNum) const

Return the connection for the given gassiplex number

Definition at line 282 of file AliMpMotifType.cxx.

Referenced by AliMUONManuContourMaker::CreateMotifContour(), FindLocalIndicesByGassiNum(), and HasPadByManuChannel().

AliMpConnection * AliMpMotifType::FindConnectionByKaptonNum ( Int_t  kaptonNum) const

Give the connection related to the given kapton number Inefficient method as we loop over connections to find the right one

Definition at line 296 of file AliMpMotifType.cxx.

Referenced by FindLocalIndicesByKaptonNum().

AliMpConnection * AliMpMotifType::FindConnectionByLocalIndices ( Int_t  localIx,
Int_t  localIy 
) const

Retrieve the AliMpConnection pointer from its position (in pad unit)

Definition at line 264 of file AliMpMotifType.cxx.

AliMpConnection * AliMpMotifType::FindConnectionByPadNum ( Int_t  padNum) const

Retrieve the AliMpConnection pointer from its pad num This method is quite inefficient as we're looping over all connections

Definition at line 237 of file AliMpMotifType.cxx.

Referenced by FindLocalIndicesByPadNum().

MpPair_t AliMpMotifType::FindLocalIndicesByBergNum ( Int_t  bergNum) const

Retrieve the connection from a Berg connector number

Definition at line 374 of file AliMpMotifType.cxx.

MpPair_t AliMpMotifType::FindLocalIndicesByConnection ( const AliMpConnection connection) const

Reurn the pad position from the connection pointer.

Definition at line 330 of file AliMpMotifType.cxx.

MpPair_t AliMpMotifType::FindLocalIndicesByGassiNum ( Int_t  gassiNum) const

Return the connection for the given gassiplex number

Definition at line 350 of file AliMpMotifType.cxx.

Referenced by AliMpSectorSegmentation::PadByLocation(), AliMpFastSegmentation::PadByLocation(), and AliMpSlatSegmentation::PadByLocation().

MpPair_t AliMpMotifType::FindLocalIndicesByKaptonNum ( Int_t  kaptonNum) const

Give the connection related to the given kapton number

Definition at line 362 of file AliMpMotifType.cxx.

MpPair_t AliMpMotifType::FindLocalIndicesByPadNum ( Int_t  padNum) const

Retrieve the AliMpConnection pointer from its pad num

Definition at line 338 of file AliMpMotifType.cxx.

Int_t AliMpMotifType::GetNofPads ( ) const
inline

Return the total number of pads.

Definition at line 70 of file AliMpMotifType.h.

Referenced by AliMpPCB::Add(), AliMpMotifMap::CalculateNofPads(), and IsFull().

Bool_t AliMpMotifType::HasPadByGassiNum ( Int_t  gassiNum) const
inline

Return whether the pad with given manu channel exists.

Definition at line 87 of file AliMpMotifType.h.

Bool_t AliMpMotifType::HasPadByLocalIndices ( MpPair_t  localIndices) const

Return true if the pad indexed by localIndices has a connection

Definition at line 387 of file AliMpMotifType.cxx.

Referenced by AliMpMotifTypePadIterator::FindFirstPadInLine(), AliMpPCB::FindMotifPosition(), AliMpMotifTypePadIterator::First(), GetNofPads(), and AliMpMotifPosition::HasPadByIndices().

Bool_t AliMpMotifType::HasPadByLocalIndices ( Int_t  localIx,
Int_t  localIy 
) const

Return true if the pad indexed by localIndices has a connection

Definition at line 396 of file AliMpMotifType.cxx.

Bool_t AliMpMotifType::HasPadByManuChannel ( Int_t  manuChannel) const

Return true if the pad indexed by localIndices has a connection

Definition at line 405 of file AliMpMotifType.cxx.

Referenced by GetNofPads(), HasPadByGassiNum(), and AliMpMotifPosition::HasPadByManuChannel().

Bool_t AliMpMotifType::IsFull ( ) const
inline

Return true if the motif conatins all pads.

Definition at line 119 of file AliMpMotifType.h.

Referenced by AliMUONManuContourMaker::CreateMotifContour(), HasPadByGassiNum(), and AliMpMotifPosition::HasPadByIndices().

AliMpMotifType & AliMpMotifType::operator= ( const AliMpMotifType rhs)

Assignment operator

Definition at line 106 of file AliMpMotifType.cxx.

TString AliMpMotifType::PadName ( Int_t  padNum) const

Transform a pad number into its equivalent pad name

Definition at line 183 of file AliMpMotifType.cxx.

Referenced by GetNofPads(), AliMpConnection::PadName(), and Print().

Int_t AliMpMotifType::PadNum ( const TString &  padName) const

Transform a pad name into the equivalent pad number

Definition at line 172 of file AliMpMotifType.cxx.

Referenced by AliMpMotifReader::BuildMotifType(), and GetNofPads().

void AliMpMotifType::Print ( Option_t *  option = "") const
virtual

Print the map of the motif. In each cell, the value printed depends of option, as the following:

  • option="N" the "name" of the pad is written
  • option="K" the Kapton connect. number attached to the pad is written
  • option="B" the Berg connect. number attached to the pad is written
  • option="G" the Gassiplex channel number attached to the pad is written otherwise the number of the pad is written

NOTE : this method is really not optimized, in case 'N' or '', but the Print() this should not be very important in a Print() method

Definition at line 415 of file AliMpMotifType.cxx.

Referenced by GetNofPads(), and AliMpVMotif::Print().

Bool_t AliMpMotifType::Save ( const char *  motifName) const

Generate the 2 files needed to describe the motif

Definition at line 479 of file AliMpMotifType.cxx.

Bool_t AliMpMotifType::Save ( ) const

Save this motif type

Definition at line 470 of file AliMpMotifType.cxx.

Referenced by HasPadByGassiNum().

void AliMpMotifType::SetNofPads ( Int_t  nofPadsX,
Int_t  nofPadY 
)

Change the number of pads in this motif

Definition at line 162 of file AliMpMotifType.cxx.

Referenced by AliMpMotifReader::BuildMotifType().

Member Data Documentation

TObjArray AliMpMotifType::fConnectionsByLocalIndices
private

array [ix + 64*iy ] -> AliMpConnection*

Definition at line 110 of file AliMpMotifType.h.

Referenced by AddConnection(), Copy(), and FindConnectionByLocalIndices().

TObjArray AliMpMotifType::fConnectionsByManuChannel
private

array [manuChannel] -> AliMpConnection*

Definition at line 111 of file AliMpMotifType.h.

Referenced by AddConnection(), Copy(), FindConnectionByBergNum(), FindConnectionByGassiNum(), FindConnectionByKaptonNum(), and FindConnectionByPadNum().

const Int_t AliMpMotifType::fgkPadNumForA = 65
staticprivate

the pad number for the pad "A"

Definition at line 102 of file AliMpMotifType.h.

Referenced by PadName(), and PadNum().

TString AliMpMotifType::fID
private

unique motif ID

Definition at line 105 of file AliMpMotifType.h.

Referenced by Clone(), Copy(), GetID(), Print(), and Save().

Int_t AliMpMotifType::fMaxNofPads
private

max number of pads we can hold

Definition at line 109 of file AliMpMotifType.h.

Referenced by AddConnection(), Copy(), FindConnectionByGassiNum(), and FindConnectionByLocalIndices().

Int_t AliMpMotifType::fNofPads
private

total number of pads (= the number of non-void entries in the arrays below)

Definition at line 108 of file AliMpMotifType.h.

Referenced by AddConnection(), Copy(), and GetNofPads().

Int_t AliMpMotifType::fNofPadsX
private

number of pads in x direction

Definition at line 106 of file AliMpMotifType.h.

Referenced by Copy(), FindConnectionByLocalIndices(), GetNofPadsX(), IsFull(), Print(), and SetNofPads().

Int_t AliMpMotifType::fNofPadsY
private

number of pads in y direction

Definition at line 107 of file AliMpMotifType.h.

Referenced by Copy(), GetNofPadsY(), IsFull(), Print(), and SetNofPads().


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