![]() |
AliRoot Core
3dc7879 (3dc7879)
|
Class that defines the motif properties. More...
#include <AliMpMotifType.h>
Public Member Functions | |
AliMpMotifType (const TString &id) | |
AliMpMotifType (const AliMpMotifType &rhs) | |
AliMpMotifType & | operator= (const AliMpMotifType &rhs) |
AliMpMotifType (TRootIOCtor *ioCtor) | |
virtual | ~AliMpMotifType () |
TObject * | Clone (const char *newname="") const |
virtual AliMpVPadIterator * | CreateIterator () const |
AliMpConnection * | FindConnectionByPadNum (Int_t padNum) const |
AliMpConnection * | FindConnectionByLocalIndices (MpPair_t localIndices) const |
AliMpConnection * | FindConnectionByLocalIndices (Int_t localIx, Int_t localIy) const |
AliMpConnection * | FindConnectionByGassiNum (Int_t gassiNum) const |
AliMpConnection * | FindConnectionByKaptonNum (Int_t kaptonNum) const |
AliMpConnection * | FindConnectionByBergNum (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... | |
Class that defines the motif properties.
Definition at line 29 of file AliMpMotifType.h.
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.
|
virtual |
Destructor
Definition at line 146 of file AliMpMotifType.cxx.
|
private |
Not implemented.
Referenced by Clone(), and HasPadByGassiNum().
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.
|
private |
Copy object
Definition at line 130 of file AliMpMotifType.cxx.
Referenced by AliMpMotifType(), HasPadByGassiNum(), and operator=().
|
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 | ( | MpPair_t | localIndices | ) | const |
Retrieve the AliMpConnection pointer from its position (in pad unit)
Definition at line 254 of file AliMpMotifType.cxx.
Referenced by AddConnection(), AliMpMotifPositionPadIterator::CurrentItem(), AliMpVMotif::FindConnectionByLocalPos(), HasPadByLocalIndices(), AliMpSectorSegmentation::PadByIndices(), AliMpFastSegmentation::PadByIndices(), AliMpSlatSegmentation::PadByIndices(), AliMpSectorSegmentation::PadByPosition(), AliMpSlatSegmentation::PadByPosition(), AliMpMotif::PadIndicesLocal(), AliMpMotifPainter::Paint(), AliMpMotifPainter::PaintContour(), AliMpVMotif::Print(), Print(), and Save().
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.
|
inline |
Return unique motif ID.
Definition at line 64 of file AliMpMotifType.h.
Referenced by AliMpPCB::Add(), AliMpSlatMotifMap::AddMotifType(), AliMpMotifMap::AddMotifType(), AliMpMotifPainter::AliMpMotifPainter(), AliMpMotifMap::FindMotif(), AliMpSlatMotifMap::FindMotifType(), AliMpSlatMotifMap::Print(), AliMpMotifMap::PrintMotif(), and AliMpMotifMap::PrintMotifType().
|
inline |
Return the total number of pads.
Definition at line 70 of file AliMpMotifType.h.
Referenced by AliMpPCB::Add(), AliMpMotifMap::CalculateNofPads(), and IsFull().
|
inline |
Return number of pads in x direction.
Definition at line 66 of file AliMpMotifType.h.
Referenced by AliMpPCB::Add(), AliMpMotifSpecial::CalculateDimensions(), AliMpMotif::DimensionX(), AliMpMotifPainter::Paint(), AliMpMotifPainter::PaintContour(), AliMpVMotif::Print(), AliMpMotifMap::PrintMotifType(), Save(), AliMpRowSegmentLSpecial::SetIndicesToMotifPosition(), AliMpRowSegmentRSpecial::SetIndicesToMotifPosition(), AliMpRowSegment::SetIndicesToMotifPosition(), and AliMpMotifMap::UpdateGlobalIndices().
|
inline |
Return number of pads in y direction.
Definition at line 68 of file AliMpMotifType.h.
Referenced by AliMpPCB::Add(), AliMpMotifSpecial::CalculateDimensions(), AliMpMotif::DimensionY(), AliMpMotifPainter::Paint(), AliMpMotifPainter::PaintContour(), AliMpVMotif::Print(), AliMpMotifMap::PrintMotifType(), Save(), AliMpRowSegmentLSpecial::SetIndicesToMotifPosition(), AliMpRowSegmentRSpecial::SetIndicesToMotifPosition(), AliMpRowSegment::SetIndicesToMotifPosition(), and AliMpMotifMap::UpdateGlobalIndices().
|
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().
|
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().
|
virtual |
Print the map of the motif. In each cell, the value printed depends of option, as the following:
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().
|
private |
array [ix + 64*iy ] -> AliMpConnection*
Definition at line 110 of file AliMpMotifType.h.
Referenced by AddConnection(), Copy(), and FindConnectionByLocalIndices().
|
private |
array [manuChannel] -> AliMpConnection*
Definition at line 111 of file AliMpMotifType.h.
Referenced by AddConnection(), Copy(), FindConnectionByBergNum(), FindConnectionByGassiNum(), FindConnectionByKaptonNum(), and FindConnectionByPadNum().
|
staticprivate |
the pad number for the pad "A"
Definition at line 102 of file AliMpMotifType.h.
|
private |
|
private |
max number of pads we can hold
Definition at line 109 of file AliMpMotifType.h.
Referenced by AddConnection(), Copy(), FindConnectionByGassiNum(), and FindConnectionByLocalIndices().
|
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().
|
private |
number of pads in x direction
Definition at line 106 of file AliMpMotifType.h.
Referenced by Copy(), FindConnectionByLocalIndices(), GetNofPadsX(), IsFull(), Print(), and SetNofPads().
|
private |
number of pads in y direction
Definition at line 107 of file AliMpMotifType.h.
Referenced by Copy(), GetNofPadsY(), IsFull(), Print(), and SetNofPads().