ba50cd4b84ab117efc78128f79c97e46f7dcfe86
[u/mrichter/AliRoot.git] / STEER / AliCDBEntry.h
1 #ifndef ALICDBENTRY_H
2 #define ALICDBENTRY_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///
9 /// class that contains an object from the data base and knows about its
10 /// validity range (meta data)
11 ///
12
13 #include <TObject.h>
14 #include "AliCDBMetaData.h"
15
16
17 class AliCDBEntry: public TObject {
18 public:
19   AliCDBEntry();
20   AliCDBEntry(const TObject* object, const AliCDBMetaData& metaData);
21   virtual ~AliCDBEntry();
22
23   AliCDBEntry(const AliCDBEntry& entry);
24   AliCDBEntry& operator = (const AliCDBEntry& entry);
25
26   void                 SetVersion(Int_t version = -1)
27     {fMetaData.SetVersion(version);}
28
29   void                 SetRunRange(Int_t firstRun = -1, Int_t lastRun=-1)
30     {fMetaData.SetRunRange(firstRun, lastRun);}
31
32   virtual const char*  GetName() const;
33   const TObject*       GetObject() const {return fObject;}
34   const AliCDBMetaData&   GetCDBMetaData() const {return fMetaData;}
35
36   virtual Int_t        Compare(const TObject* object) const;
37
38 private:
39   TObject*             fObject;         // pointer to the data base entry obj.
40   AliCDBMetaData    fMetaData;    // object's meta data
41
42   ClassDef(AliCDBEntry, 2)   // container for a data base entry object
43 };
44
45 #endif