![]() |
AliRoot Core
a565103 (a565103)
|
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 141 of file AliMpMotifType.cxx.
|
private |
Not implemented.
Referenced by Clone().
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.
|
private |
Copy object
Definition at line 125 of file AliMpMotifType.cxx.
Referenced by AliMpMotifType(), and operator=().
|
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 | ( | MpPair_t | localIndices | ) | const |
Retrieve the AliMpConnection pointer from its position (in pad unit)
Definition at line 249 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 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.
|
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 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().
|
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().
|
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 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().
|
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().