ZDC automatic scripts updates (Marco Leoncino) + updates in QA config
[u/mrichter/AliRoot.git] / STEER / CDB / 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     AliCDBMetaData(const char *responsible, UInt_t beamPeriod=0, const char* alirootVersion="", const char* comment="");
23     virtual ~AliCDBMetaData();
24
25     void                SetObjectClassName(const char* name) 
26     {fObjectClassName = name;};
27     const char*         GetObjectClassName() const 
28     {return fObjectClassName.Data();};
29
30     void                SetResponsible(const char* yourName) 
31     {fResponsible = yourName;};
32     const char*         GetResponsible() const 
33     {return fResponsible.Data();};
34
35     void                SetBeamPeriod(UInt_t period) 
36     {fBeamPeriod = period;};
37     UInt_t              GetBeamPeriod() const 
38     {return fBeamPeriod;};
39
40     void                SetAliRootVersion(const char* version)
41     {fAliRootVersion = version;};
42     const char*         GetAliRootVersion() const 
43     {return fAliRootVersion.Data();};
44
45     void                SetComment(const char* comment) 
46     {fComment = comment;};
47     const char*         GetComment() const 
48     {return fComment.Data();};
49     void                AddDateToComment();
50
51     void                SetProperty(const char* property, TObject* object);
52     TObject*    GetProperty(const char* property) const;
53     Bool_t              RemoveProperty(const char* property);
54
55     void PrintMetaData();
56
57   private:
58
59     TString fObjectClassName;   // object's class name
60     TString fResponsible;               // object's responsible person
61     UInt_t  fBeamPeriod;                // beam period
62     TString fAliRootVersion;    // AliRoot version
63     TString fComment;           // extra comments
64     //TList fCalibRuns;         
65
66     TMap fProperties;           // list of object specific properties
67
68     ClassDef(AliCDBMetaData, 1);
69 };
70
71 #endif