]>
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 | ||
35 | virtual ~AliMpUID() {} | |
36 | ||
37 | TString Name() const; | |
38 | TString PathName() const; | |
39 | TString BaseName() const; | |
40 | TString DirName() const; | |
41 | ||
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; | |
47 | Bool_t IsPCB() const; | |
48 | Bool_t IsValid() const; | |
49 | ||
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; } | |
57 | ||
58 | virtual void Print(Option_t* opt="") const; | |
59 | ||
60 | /// Return our type (e.g. PCB, Chamber, DE, MANU, etc...) | |
61 | TString Type() const; | |
62 | ||
63 | private: | |
64 | ||
65 | Bool_t CheckTemplate(const char* name, const char* templateName, Int_t& value); | |
66 | TString StripCathode(const char* name) const; | |
67 | ||
68 | private: | |
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 | |
76 | ||
77 | ClassDef(AliMpUID,1) // UID of a tracker channel | |
78 | }; | |
79 | ||
80 | #endif |