Improved diagnostic messages. Different access strings for AliCDBGrid. New or renamed...
[u/mrichter/AliRoot.git] / STEER / AliCDBMetaData.h
1 #ifndef ALI_META_DATA_H
2 #define ALI_META_DATA_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 AliCDBMetaData                                           //
10 //  Set of data describing the object                              //
11 //  but not used to identify the object                            //
12 //                                                                 //
13 /////////////////////////////////////////////////////////////////////
14
15 #include <TObject.h>
16 #include <TMap.h>
17
18 class AliCDBMetaData: public TObject {
19         
20 public:
21         AliCDBMetaData();
22         virtual ~AliCDBMetaData();
23
24         void            SetObjectClassName(const char* name) 
25                                 {fObjectClassName = name;};
26         const char*     GetObjectClassName() const 
27                                 {return fObjectClassName.Data();};
28         
29         void            SetResponsible(const char* yourName) 
30                                 {fResponsible = yourName;};
31         const char*     GetResponsible() const 
32                                 {return fResponsible.Data();};
33
34         void            SetBeamPeriod(UInt_t period) 
35                                 {fBeamPeriod = period;};
36         UInt_t          GetBeamPeriod() const 
37                                 {return fBeamPeriod;};
38
39         void            SetAliRootVersion(const char* version)
40                                 {fAliRootVersion = version;};
41         const char*     GetAliRootVersion() const 
42                                 {return fAliRootVersion.Data();};
43
44         void            SetComment(const char* comment) 
45                                 {fComment = comment;};
46         const char*     GetComment() const 
47                                 {return fComment.Data();};
48
49         void            SetProperty(const char* property, TObject* object);
50         TObject*        GetProperty(const char* property) const;
51         Bool_t          RemoveProperty(const char* property);
52         
53         void PrintMetaData();
54         
55 private:
56
57         TString fObjectClassName;       // object's class name
58         TString fResponsible;           // object's responsible person
59         UInt_t  fBeamPeriod;            // beam period
60         TString fAliRootVersion;        // AliRoot version
61         TString fComment;               // extra comments
62         //TList fCalibRuns;             
63         
64         TMap fProperties;               // list of object specific properties
65
66         ClassDef(AliCDBMetaData, 1);
67 };
68
69 #endif