]>
Commit | Line | Data |
---|---|---|
0b936dc0 | 1 | #ifndef ALIMPUID_H |
2 | #define ALIMPUID_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // $Id$ | |
8 | ||
9 | /// \ingroup management | |
10 | /// \class AliMpUID | |
11 | /// \brief Global (string-eable) ID of a tracker channel | |
12 | /// | |
13 | // Author Laurent Aphecetche, Subatech | |
14 | ||
15 | #ifndef ROOT_TObject | |
16 | # include "TObject.h" | |
17 | #endif | |
18 | #ifndef ROOT_TString | |
19 | # include "TString.h" | |
20 | #endif | |
21 | #ifndef ALI_MP_CATHOD_TYPE_H | |
22 | # include "AliMpCathodType.h" | |
23 | #endif | |
24 | ||
25 | class AliMpUID : public TObject | |
26 | { | |
27 | public: | |
28 | AliMpUID(); | |
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); | |
34 | ||
cddcc1f3 | 35 | /// dtor |
0b936dc0 | 36 | virtual ~AliMpUID() {} |
37 | ||
38 | TString Name() const; | |
39 | TString PathName() const; | |
40 | TString BaseName() const; | |
41 | TString DirName() const; | |
42 | ||
43 | Bool_t IsStation() const; | |
44 | Bool_t IsChamber() const; | |
45 | Bool_t IsDetectionElement() const; | |
46 | Bool_t IsBusPatch() const; | |
47 | Bool_t IsManu() const; | |
48 | Bool_t IsPCB() const; | |
49 | Bool_t IsValid() const; | |
50 | ||
51 | AliMp::CathodType CathodeId() const; | |
cddcc1f3 | 52 | /// Return station Id |
0b936dc0 | 53 | Int_t StationId() const { return fStationId; } |
cddcc1f3 | 54 | /// Return chamber Id |
0b936dc0 | 55 | Int_t ChamberId() const { return fChamberId; } |
cddcc1f3 | 56 | /// Return detection element Id |
0b936dc0 | 57 | Int_t DetElemId() const { return fDetElemId; } |
cddcc1f3 | 58 | /// Return bus patch Id |
0b936dc0 | 59 | Int_t BusPatchId() const { return fBusPatchId; } |
cddcc1f3 | 60 | /// Return manu Id |
0b936dc0 | 61 | Int_t ManuId() const { return fManuId; } |
cddcc1f3 | 62 | /// Return PCB Id |
0b936dc0 | 63 | Int_t PCBId() const { return fPCBId; } |
64 | ||
65 | virtual void Print(Option_t* opt="") const; | |
66 | ||
67 | /// Return our type (e.g. PCB, Chamber, DE, MANU, etc...) | |
68 | TString Type() const; | |
69 | ||
70 | private: | |
71 | ||
72 | Bool_t CheckTemplate(const char* name, const char* templateName, Int_t& value); | |
73 | TString StripCathode(const char* name) const; | |
74 | ||
75 | private: | |
cddcc1f3 | 76 | Int_t fCathodeId; ///< Cathode number |
77 | Int_t fStationId; ///< Station id | |
78 | Int_t fChamberId; ///< Chamber id | |
79 | Int_t fDetElemId; ///< Detection element id | |
80 | Int_t fBusPatchId;///< Bus patch id | |
81 | Int_t fManuId; ///< Manu id | |
82 | Int_t fPCBId; ///< PCB id | |
0b936dc0 | 83 | |
84 | ClassDef(AliMpUID,1) // UID of a tracker channel | |
85 | }; | |
86 | ||
87 | #endif |