Line data Source code
1 : #ifndef ALI_CDB_ID_H
2 : #define ALI_CDB_ID_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 AliCDBId //
10 : // Identity of an object stored into a database: //
11 : // path, run validity range, version, subVersion //
12 : // //
13 : /////////////////////////////////////////////////////////////////////
14 :
15 : #include "AliCDBPath.h"
16 : #include "AliCDBRunRange.h"
17 :
18 : #include <TObject.h>
19 :
20 0 : class AliCDBId: public TObject {
21 :
22 : public:
23 :
24 : AliCDBId();
25 :
26 : AliCDBId(const AliCDBId& other);
27 :
28 : AliCDBId(const AliCDBPath& path, const AliCDBRunRange& runRange,
29 : Int_t version = -1, Int_t subVersion = -1);
30 :
31 : AliCDBId(const AliCDBPath& path,
32 : Int_t firstRun , Int_t lastRun , Int_t verison = -1,
33 : Int_t subVersion = -1);
34 :
35 : static AliCDBId* MakeFromString(const TString& idString);
36 :
37 : virtual ~AliCDBId();
38 :
39 41600 : const AliCDBPath& GetAliCDBPath() const {return fPath;}
40 207440 : const TString& GetPath() const {return fPath.GetPath();}
41 0 : const TString GetPathLevel(Int_t i) const {return fPath.GetLevel(i);}
42 4666 : Bool_t IsWildcard() const {return fPath.IsWildcard();}
43 :
44 2550 : void SetPath(const char* path) {fPath.SetPath(path);}
45 :
46 4042 : const AliCDBRunRange& GetAliCDBRunRange() const {return fRunRange;}
47 1516 : AliCDBRunRange& GetAliCDBRunRange() {return fRunRange;}
48 12400 : Int_t GetFirstRun() const {return fRunRange.GetFirstRun();}
49 9366 : Int_t GetLastRun() const {return fRunRange.GetLastRun();}
50 2552 : void SetFirstRun(Int_t firstRun) {fRunRange.SetFirstRun(firstRun);}
51 2552 : void SetLastRun(Int_t lastRun) {fRunRange.SetLastRun(lastRun);}
52 : void SetRunRange(Int_t firstRun, Int_t lastRun)
53 0 : {fRunRange.SetRunRange(firstRun, lastRun);}
54 :
55 :
56 4922 : Bool_t IsAnyRange() const {return fRunRange.IsAnyRange();}
57 :
58 :
59 17078 : Int_t GetVersion() const {return fVersion;}
60 16658 : Int_t GetSubVersion() const {return fSubVersion;}
61 2554 : void SetVersion(Int_t version) {fVersion = version;}
62 2556 : void SetSubVersion(Int_t subVersion) {fSubVersion = subVersion;}
63 :
64 2 : const TString& GetLastStorage() const {return fLastStorage;}
65 1478 : void SetLastStorage(TString& lastStorage){fLastStorage = lastStorage;}
66 :
67 : Bool_t IsValid() const;
68 9332 : Bool_t IsSpecified() const {return !(IsWildcard() || IsAnyRange());}
69 :
70 6126 : Bool_t HasVersion() const {return fVersion >= 0;}
71 4108 : Bool_t HasSubVersion() const {return fSubVersion >= 0;}
72 :
73 : Bool_t Comprises(const AliCDBId& other) const
74 0 : {return fPath.Comprises(other.fPath)
75 0 : && fRunRange.Comprises(other.fRunRange);}
76 :
77 : virtual Bool_t IsEqual(const TObject *obj) const;
78 :
79 : TString ToString() const;
80 : void Print(Option_t* option="") const;
81 : virtual Int_t Compare(const TObject* obj) const;
82 : virtual Bool_t IsSortable() const;
83 0 : virtual const char *GetName() const { return fPath.GetPath().Data(); }
84 : private:
85 :
86 : AliCDBPath fPath; // path
87 : AliCDBRunRange fRunRange; // run range
88 : Int_t fVersion; // version
89 : Int_t fSubVersion; // subversion
90 : TString fLastStorage; // previous storage place (new, grid, local, dump)
91 :
92 201320 : ClassDef(AliCDBId, 1);
93 : };
94 :
95 : #endif
|