]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliCDBPath.h
put STEERBase into the include path
[u/mrichter/AliRoot.git] / STEER / AliCDBPath.h
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 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         const TString& GetPath() const {return fPath;};
39         void  SetPath(const char* path) {fPath=path; InitPath();};
40
41         const TString& GetLevel0() const {return fLevel0;};
42         const TString& GetLevel1() const {return fLevel1;};
43         const TString& GetLevel2() const {return fLevel2;};
44
45         Bool_t IsValid() const {return fIsValid;};
46
47         Bool_t IsWildcard() const {return fIsWildcard;};
48
49         Bool_t Level0Comprises(const TString& str) const;
50         Bool_t Level1Comprises(const TString& str) const;
51         Bool_t Level2Comprises(const TString& str) const;
52
53         Bool_t Comprises(const AliCDBPath& other) const;
54
55 private:
56
57         Bool_t IsWord(const TString& str);
58
59         void InitPath();
60
61         void Init();
62
63         TString fPath;          // detector pathname (Detector/DBType/SpecType)
64         TString fLevel0;        // level0 name (ex. detector: ZDC, TPC...)
65         TString fLevel1;        // level1 name (ex. DB type, Calib, Align)
66         TString fLevel2;        // level2 name (ex. DetSpecType, pedestals, gain...)
67
68         Bool_t fIsValid;        // validity flag
69         Bool_t fIsWildcard;     // wildcard flag
70         
71         ClassDef(AliCDBPath, 1); 
72 };
73
74 #endif