]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliCDBId.h
Change from Int_t/SHort_t to smaller data types, the change from Float_t/Double_t...
[u/mrichter/AliRoot.git] / STEER / AliCDBId.h
CommitLineData
9e1ceb13 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
20class AliCDBId: public TObject {
21
22public:
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 virtual ~AliCDBId();
36
4667c116 37 const AliCDBPath& GetAliCDBPath() const {return fPath;}
38 const TString& GetPath() const {return fPath.GetPath();}
39 const TString GetPathLevel(Int_t i) const {return fPath.GetLevel(i);}
40 Bool_t IsWildcard() const {return fPath.IsWildcard();}
9e1ceb13 41
4667c116 42 void SetPath(const char* path) {fPath.SetPath(path);}
9e1ceb13 43
4667c116 44 const AliCDBRunRange& GetAliCDBRunRange() const {return fRunRange;}
45 AliCDBRunRange& GetAliCDBRunRange() {return fRunRange;}
46 Int_t GetFirstRun() const {return fRunRange.GetFirstRun();}
47 Int_t GetLastRun() const {return fRunRange.GetLastRun();}
48 void SetFirstRun(Int_t firstRun) {fRunRange.SetFirstRun(firstRun);}
49 void SetLastRun(Int_t lastRun) {fRunRange.SetLastRun(lastRun);}
50 void SetRunRange(Int_t firstRun, Int_t lastRun)
51 {fRunRange.SetRunRange(firstRun, lastRun);}
9e1ceb13 52
53
4667c116 54 Bool_t IsAnyRange() const {return fRunRange.IsAnyRange();}
9e1ceb13 55
56
4667c116 57 Int_t GetVersion() const {return fVersion;}
58 Int_t GetSubVersion() const {return fSubVersion;}
59 void SetVersion(Int_t version) {fVersion = version;}
60 void SetSubVersion(Int_t subVersion) {fSubVersion = subVersion;}
8e245d15 61
4667c116 62 const TString& GetLastStorage() const {return fLastStorage;}
63 void SetLastStorage(TString& lastStorage){fLastStorage = lastStorage;}
9e1ceb13 64
65 Bool_t IsValid() const;
4667c116 66 Bool_t IsSpecified() const {return !(IsWildcard() || IsAnyRange());}
9e1ceb13 67
4667c116 68 Bool_t HasVersion() const {return fVersion >= 0;}
69 Bool_t HasSubVersion() const {return fSubVersion >= 0;}
9e1ceb13 70
8e245d15 71 Bool_t Comprises(const AliCDBId& other) const
72 {return fPath.Comprises(other.fPath)
4667c116 73 && fRunRange.Comprises(other.fRunRange);}
8e245d15 74
75 virtual Bool_t IsEqual(const TObject *obj) const;
76
9e1ceb13 77 TString ToString() const;
78
79private:
80
81 AliCDBPath fPath; // path
82 AliCDBRunRange fRunRange; // run range
83 Int_t fVersion; // version
84 Int_t fSubVersion; // subversion
85 TString fLastStorage; // previous storage place (new, grid, local, dump)
86
87 ClassDef(AliCDBId, 1);
88};
89
90#endif