4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 /// \ingroup management
11 /// \brief Global (string-eable) ID of a tracker channel
13 // Author Laurent Aphecetche, Subatech
21 #ifndef ALI_MP_CATHOD_TYPE_H
22 # include "AliMpCathodType.h"
25 class AliMpUID : public TObject
29 AliMpUID(AliMp::CathodType cathodeType, Int_t station, Int_t chamber=-1, Int_t de=-1,
30 Int_t bp=-1, Int_t manu=-1, Int_t pcb=-1);
31 AliMpUID(AliMp::CathodType cathodeType, const AliMpUID& b);
32 AliMpUID(AliMp::CathodType cathodeType, const char* pathname);
33 AliMpUID(const char* pathname);
35 virtual ~AliMpUID() {}
38 TString PathName() const;
39 TString BaseName() const;
40 TString DirName() const;
42 Bool_t IsStation() const;
43 Bool_t IsChamber() const;
44 Bool_t IsDetectionElement() const;
45 Bool_t IsBusPatch() const;
46 Bool_t IsManu() const;
48 Bool_t IsValid() const;
50 AliMp::CathodType CathodeId() const;
51 Int_t StationId() const { return fStationId; }
52 Int_t ChamberId() const { return fChamberId; }
53 Int_t DetElemId() const { return fDetElemId; }
54 Int_t BusPatchId() const { return fBusPatchId; }
55 Int_t ManuId() const { return fManuId; }
56 Int_t PCBId() const { return fPCBId; }
58 virtual void Print(Option_t* opt="") const;
60 /// Return our type (e.g. PCB, Chamber, DE, MANU, etc...)
65 Bool_t CheckTemplate(const char* name, const char* templateName, Int_t& value);
66 TString StripCathode(const char* name) const;
69 Int_t fCathodeId; // Cathode number
70 Int_t fStationId; // Station id
71 Int_t fChamberId; // Chamber id
72 Int_t fDetElemId; // Detection element id
73 Int_t fBusPatchId; // Bus patch id
74 Int_t fManuId; // Manu id
75 Int_t fPCBId; // PCB id
77 ClassDef(AliMpUID,1) // UID of a tracker channel