AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 141 of file AliMpMotifType.cxx.

AliMpMotifType::AliMpMotifType ( )
private

Not implemented.

Referenced by Clone().

Member Function Documentation

Bool_t AliMpMotifType::AddConnection ( AliMpConnection connection)

Add the connection to the map

Definition at line 190 of file AliMpMotifType.cxx.

Referenced by AliMpMotifReader::BuildMotifType().

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 125 of file AliMpMotifType.cxx.

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

AliMpVPadIterator * AliMpMotifType::CreateIterator ( ) const
virtual

Create new motif type iterator

Definition at line 149 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 308 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 277 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 291 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 259 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 232 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 369 of file AliMpMotifType.cxx.

MpPair_t AliMpMotifType::FindLocalIndicesByConnection ( const AliMpConnection connection) const

Reurn the pad position from the connection pointer.

Definition at line 325 of file AliMpMotifType.cxx.

MpPair_t AliMpMotifType::FindLocalIndicesByGassiNum ( Int_t  gassiNum) const

Return the connection for the given gassiplex number

Definition at line 345 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 357 of file AliMpMotifType.cxx.

MpPair_t AliMpMotifType::FindLocalIndicesByPadNum ( Int_t  padNum) const

Retrieve the AliMpConnection pointer from its pad num

Definition at line 333 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 382 of file AliMpMotifType.cxx.

Referenced by AliMpMotifTypePadIterator::FindFirstPadInLine(), AliMpPCB::FindMotifPosition(), AliMpMotifTypePadIterator::First(), 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 391 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 400 of file AliMpMotifType.cxx.

Referenced by 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(), 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 178 of file AliMpMotifType.cxx.

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

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

Transform a pad name into the equivalent pad number

Definition at line 167 of file AliMpMotifType.cxx.

Referenced by AliMpMotifReader::BuildMotifType().

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 410 of file AliMpMotifType.cxx.

Referenced by AliMpVMotif::Print().

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

Generate the 2 files needed to describe the motif

Definition at line 474 of file AliMpMotifType.cxx.

Bool_t AliMpMotifType::Save ( ) const

Save this motif type

Definition at line 465 of file AliMpMotifType.cxx.

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

Change the number of pads in this motif

Definition at line 157 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 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: