1 #ifndef ALIRUNDATASTORAGE_H
2 #define ALIRUNDATASTORAGE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// base class for data base access classes
13 #include <TObjArray.h>
20 class AliRunDataStorage: public TObject {
22 virtual ~AliRunDataStorage();
24 const TObject* Get(const char* name, Int_t runNumber);
26 Bool_t Put(const TObject* object,
27 const AliMetaData& metaData);
29 void Select(const AliMetaData& metaData);
31 Bool_t RecordToFile(const char* fileName = "DB.root");
33 static AliRunDataStorage* Instance();
38 virtual AliRunData* GetEntry(AliMetaData& metaData, Int_t runNumber) = 0;
40 virtual Bool_t PutEntry(AliRunData* entry);
42 AliRunData* GetCurrentEntry(const char* name) const
43 {return (AliRunData*) fEntries.FindObject(name);}
46 AliRunDataStorage(const AliRunDataStorage& db);
47 AliRunDataStorage& operator = (const AliRunDataStorage& db);
49 TObjArray fSelection; //! meta data selection
51 TObjArray fEntries; //! array of current AliRunData objects
52 TFile* fRecordFile; //! file for recorded entries
54 static AliRunDataStorage* fgInstance; //! pointer to the DB instance
56 ClassDef(AliRunDataStorage, 0) // base class for data base access classes