21 #include "Riostream.h"
22 #include "TObjArray.h"
23 #include "TObjString.h"
37 const char* nameTemplateMANU =
"MANU %d";
38 const char* nameTemplateDE =
"DE %d";
39 const char* nameTemplateBP =
"BusPatch %d";
40 const char* nameTemplateCHAMBER =
"Chamber %d";
41 const char* nameTemplateSTATION =
"Station %d";
42 const char* nameTemplatePCB =
"PCB %d";
44 const char* pathTemplateMANU =
"Cathode%d/Station%d/Chamber%d/DE%04d/BUSPATCH%04d/MANU%04d";
45 const char* pathTemplateBP =
"Cathode%d/Station%d/Chamber%d/DE%04d/BUSPATCH%04d";
46 const char* pathTemplateDE =
"Cathode%d/Station%d/Chamber%d/DE%04d";
47 const char* pathTemplateCHAMBER =
"Cathode%d/Station%d/Chamber%d";
48 const char* pathTemplateSTATION =
"Cathode%d/Station%d";
50 const char* pathTemplateMANUPCB =
"Cathode%d/Station%d/Chamber%d/DE%04d/PCB%d/MANU%04d";
51 const char* pathTemplatePCB =
"Cathode%d/Station%d/Chamber%d/DE%04d/PCB%d";
71 fCathodeId(cathodeType),
85 fCathodeId(cathodeType),
86 fStationId(b.StationId()),
87 fChamberId(b.ChamberId()),
88 fDetElemId(b.DetElemId()),
89 fBusPatchId(b.BusPatchId()),
99 fCathodeId(cathodeType),
148 return gSystem->BaseName(
PathName().Data());
165 if ( TString(name).Contains(
"Cathode") )
171 TString
templ(pathTemplateName);
172 Int_t i = templ.Index(
"/");
173 templ =
templ(i+1,templ.Length()-i-1);
184 return gSystem->DirName(
PathName().Data());
254 return Form(nameTemplateMANU,
ManuId());
259 return Form(nameTemplatePCB,
PCBId());
274 return Form(nameTemplateCHAMBER,
ChamberId());
279 return Form(nameTemplateSTATION,
StationId());
282 return "INVALID NAME";
327 return "INVALID PATHNAME";
335 cout <<
Name().Data() <<
" (" <<
PathName().Data() <<
")" << endl;
348 rv.ReplaceAll(
"Cathode2/",
"");
361 TString rv(static_cast<TObjString*>(s->At(0))->String());
Bool_t IsDetectionElement() const
Int_t fDetElemId
Detection element id.
virtual void Print(Option_t *opt="") const
Int_t DetElemId() const
Return detection element Id.
Global (string-eable) ID of a tracker channel.
static int templ(TVector par, Double_t x, Double_t dy, Double_t dz, const AliTPCSector *sec, int s, int rf=0)
Int_t fStationId
Station id.
ClassImp(AliMpUID) namespace
AliMp::CathodType CathodeId() const
Bool_t IsBusPatch() const
AliMp::CathodType GetCathodType(Int_t cathodNumber)
Convert integer number in enum;.
Int_t PCBId() const
Return PCB Id.
Int_t fBusPatchId
Bus patch id.
Int_t BusPatchId() const
Return bus patch Id.
Int_t ManuId() const
Return manu Id.
TString StripCathode(const char *name) const
Bool_t CheckTemplate(const char *name, const char *templateName, Int_t &value)
Int_t ChamberId() const
Return chamber Id.
Int_t StationId() const
Return station Id.
Int_t fChamberId
Chamber id.
Int_t fCathodeId
Cathode number.
TString Type() const
Return our type (e.g. PCB, Chamber, DE, MANU, etc...)