Line data Source code
1 : #ifndef ALI_CDB_PATH_H
2 : #define ALI_CDB_PATH_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /////////////////////////////////////////////////////////////////////
8 : // //
9 : // class AliCDBPath //
10 : // Path string identifying the object: //
11 : // "level0/level1/level2" //
12 : // (was: "Detector/DBType/DetSpecType") //
13 : // (example: "ZDC/Calib/Pedestals") //
14 : // //
15 : /////////////////////////////////////////////////////////////////////
16 :
17 : #include <TObject.h>
18 : #include <TString.h>
19 :
20 20 : class AliCDBPath: public TObject {
21 :
22 : public:
23 :
24 : AliCDBPath();
25 :
26 : AliCDBPath(const AliCDBPath& other);
27 :
28 : AliCDBPath(const char* level0, const char* level1,
29 : const char* level2);
30 :
31 : AliCDBPath(const char* path);
32 :
33 : AliCDBPath(const TString& path);
34 :
35 : virtual ~AliCDBPath();
36 :
37 :
38 398810 : const TString& GetPath() const {return fPath;}
39 2584 : void SetPath(const char* path) {fPath=path; InitPath();}
40 :
41 : const char* GetLevel(Int_t i) const;
42 :
43 3654 : Bool_t IsValid() const {return fIsValid;}
44 :
45 4706 : Bool_t IsWildcard() const {return fIsWildcard;}
46 :
47 : Bool_t Level0Comprises(const TString& str) const;
48 : Bool_t Level1Comprises(const TString& str) const;
49 : Bool_t Level2Comprises(const TString& str) const;
50 :
51 : Bool_t Comprises(const AliCDBPath& other) const;
52 :
53 : private:
54 :
55 : Bool_t IsWord(const TString& str);
56 :
57 : void InitPath();
58 :
59 : void Init();
60 :
61 : TString fPath; // detector pathname (Detector/DBType/SpecType)
62 : TString fLevel0; // level0 name (ex. detector: ZDC, TPC...)
63 : TString fLevel1; // level1 name (ex. DB type, Calib, Align)
64 : TString fLevel2; // level2 name (ex. DetSpecType, pedestals, gain...)
65 :
66 : Bool_t fIsValid; // validity flag
67 : Bool_t fIsWildcard; // wildcard flag
68 :
69 4524 : ClassDef(AliCDBPath, 1);
70 : };
71 :
72 : #endif
|