ROOT logo
#ifndef ALI_META_DATA_H
#define ALI_META_DATA_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/////////////////////////////////////////////////////////////////////
//                                                                 //
//  class AliCDBMetaData					   //
//  Set of data describing the object  				   //
//  but not used to identify the object 			   //
//                                                                 //
/////////////////////////////////////////////////////////////////////

#include <TObject.h>
#include <TMap.h>

class AliCDBMetaData: public TObject {

  public:
    AliCDBMetaData();
    AliCDBMetaData(const char *responsible, UInt_t beamPeriod=0, const char* alirootVersion="", const char* comment="");
    virtual ~AliCDBMetaData();

    void 		SetObjectClassName(const char* name) 
    {fObjectClassName = name;};
    const char* 	GetObjectClassName() const 
    {return fObjectClassName.Data();};

    void 		SetResponsible(const char* yourName) 
    {fResponsible = yourName;};
    const char* 	GetResponsible() const 
    {return fResponsible.Data();};

    void 		SetBeamPeriod(UInt_t period) 
    {fBeamPeriod = period;};
    UInt_t 		GetBeamPeriod() const 
    {return fBeamPeriod;};

    void 		SetAliRootVersion(const char* version)
    {fAliRootVersion = version;};
    const char* 	GetAliRootVersion() const 
    {return fAliRootVersion.Data();};

    void 		SetComment(const char* comment) 
    {fComment = comment;};
    const char* 	GetComment() const 
    {return fComment.Data();};
    void		AddDateToComment();

    void 		SetProperty(const char* property, TObject* object);
    TObject* 	GetProperty(const char* property) const;
    Bool_t 		RemoveProperty(const char* property);

    void PrintMetaData();

  private:

    TString fObjectClassName; 	// object's class name
    TString fResponsible; 		// object's responsible person
    UInt_t  fBeamPeriod;		// beam period
    TString fAliRootVersion;	// AliRoot version
    TString fComment;		// extra comments
    //TList fCalibRuns;		

    TMap fProperties;		// list of object specific properties

    ClassDef(AliCDBMetaData, 1);
};

#endif
 AliCDBMetaData.h:1
 AliCDBMetaData.h:2
 AliCDBMetaData.h:3
 AliCDBMetaData.h:4
 AliCDBMetaData.h:5
 AliCDBMetaData.h:6
 AliCDBMetaData.h:7
 AliCDBMetaData.h:8
 AliCDBMetaData.h:9
 AliCDBMetaData.h:10
 AliCDBMetaData.h:11
 AliCDBMetaData.h:12
 AliCDBMetaData.h:13
 AliCDBMetaData.h:14
 AliCDBMetaData.h:15
 AliCDBMetaData.h:16
 AliCDBMetaData.h:17
 AliCDBMetaData.h:18
 AliCDBMetaData.h:19
 AliCDBMetaData.h:20
 AliCDBMetaData.h:21
 AliCDBMetaData.h:22
 AliCDBMetaData.h:23
 AliCDBMetaData.h:24
 AliCDBMetaData.h:25
 AliCDBMetaData.h:26
 AliCDBMetaData.h:27
 AliCDBMetaData.h:28
 AliCDBMetaData.h:29
 AliCDBMetaData.h:30
 AliCDBMetaData.h:31
 AliCDBMetaData.h:32
 AliCDBMetaData.h:33
 AliCDBMetaData.h:34
 AliCDBMetaData.h:35
 AliCDBMetaData.h:36
 AliCDBMetaData.h:37
 AliCDBMetaData.h:38
 AliCDBMetaData.h:39
 AliCDBMetaData.h:40
 AliCDBMetaData.h:41
 AliCDBMetaData.h:42
 AliCDBMetaData.h:43
 AliCDBMetaData.h:44
 AliCDBMetaData.h:45
 AliCDBMetaData.h:46
 AliCDBMetaData.h:47
 AliCDBMetaData.h:48
 AliCDBMetaData.h:49
 AliCDBMetaData.h:50
 AliCDBMetaData.h:51
 AliCDBMetaData.h:52
 AliCDBMetaData.h:53
 AliCDBMetaData.h:54
 AliCDBMetaData.h:55
 AliCDBMetaData.h:56
 AliCDBMetaData.h:57
 AliCDBMetaData.h:58
 AliCDBMetaData.h:59
 AliCDBMetaData.h:60
 AliCDBMetaData.h:61
 AliCDBMetaData.h:62
 AliCDBMetaData.h:63
 AliCDBMetaData.h:64
 AliCDBMetaData.h:65
 AliCDBMetaData.h:66
 AliCDBMetaData.h:67
 AliCDBMetaData.h:68
 AliCDBMetaData.h:69
 AliCDBMetaData.h:70
 AliCDBMetaData.h:71