]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliCDBPath.h
Resolving circular dependency between libSTEERBase and libRAWDatabase (bug 45935)
[u/mrichter/AliRoot.git] / STEER / AliCDBPath.h
CommitLineData
9e1ceb13 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
20class AliCDBPath: public TObject {
21
22public:
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
4667c116 38 const TString& GetPath() const {return fPath;}
39 void SetPath(const char* path) {fPath=path; InitPath();}
9e1ceb13 40
4667c116 41 const char* GetLevel(Int_t i) const;
9e1ceb13 42
4667c116 43 Bool_t IsValid() const {return fIsValid;}
9e1ceb13 44
4667c116 45 Bool_t IsWildcard() const {return fIsWildcard;}
9e1ceb13 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
53private:
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 ClassDef(AliCDBPath, 1);
70};
71
72#endif