X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliCDBStorage.h;h=d8c3fcf558c93ab90032075affff043d01013c30;hb=437159d30fb9056b9c9d5334b15ba1baaeeda71c;hp=4065e57762fe8348f5beae12d8ea31d8403f90a1;hpb=02c4845edce32b06ca0467c2cc3e406540776c68;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliCDBStorage.h b/STEER/AliCDBStorage.h index 4065e57762f..d8c3fcf558c 100644 --- a/STEER/AliCDBStorage.h +++ b/STEER/AliCDBStorage.h @@ -14,16 +14,29 @@ #include "AliCDBId.h" #include "AliCDBMetaData.h" +#include "AliCDBManager.h" #include +#include class AliCDBEntry; +class AliCDBPath; +class AliCDBParam; +class TFile; class AliCDBStorage: public TObject { public: + AliCDBStorage(); + void SetURI(const TString& uri) {fURI = uri;} + const TString& GetURI() const {return fURI;} + const TString& GetType() const {return fType;} + const TString& GetBaseFolder() const {return fBaseFolder;} + AliCDBManager::DataType GetDataType() const; + + void ReadSelectionFromFile(const char *fileName); void AddSelection(const AliCDBId& selection); @@ -54,7 +67,7 @@ public: void PrintSelectionList(); AliCDBEntry* Get(const AliCDBId& query); - AliCDBEntry* Get(const AliCDBPath& path, Int_t runNumber, + AliCDBEntry* Get(const AliCDBPath& path, Int_t runNumber, Int_t version = -1, Int_t subVersion = -1); AliCDBEntry* Get(const AliCDBPath& path, const AliCDBRunRange& runRange, Int_t version = -1, Int_t subVersion = -1); @@ -63,29 +76,58 @@ public: TList* GetAll(const AliCDBPath& path, Int_t runNumber, Int_t version = -1, Int_t subVersion = -1); TList* GetAll(const AliCDBPath& path, const AliCDBRunRange& runRange, - Int_t version = -1, Int_t subVersion = -1); + Int_t version = -1, Int_t subVersion = -1); - Bool_t Put(TObject* object, AliCDBId& id, AliCDBMetaData* metaData); - Bool_t Put(AliCDBEntry* entry); + AliCDBId* GetId(const AliCDBId& query); + AliCDBId* GetId(const AliCDBPath& path, Int_t runNumber, + Int_t version = -1, Int_t subVersion = -1); + AliCDBId* GetId(const AliCDBPath& path, const AliCDBRunRange& runRange, + Int_t version = -1, Int_t subVersion = -1); + Bool_t Put(TObject* object, AliCDBId& id, AliCDBMetaData* metaData, + AliCDBManager::DataType type=AliCDBManager::kPrivate); + Bool_t Put(AliCDBEntry* entry, AliCDBManager::DataType type=AliCDBManager::kPrivate); virtual Bool_t IsReadOnly() const = 0; virtual Bool_t HasSubVersion() const = 0; - virtual Bool_t Contains(const char* path) const = 0; + virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const = 0; + + void QueryCDB(Int_t run, const char* pathFilter="*", + Int_t version=-1, AliCDBMetaData *mdFilter=0); + void PrintQueryCDB(); + TObjArray* GetQueryCDBList() {return &fValidFileIds;} + + virtual Int_t GetLatestVersion(const char* path, Int_t run)=0; + virtual Int_t GetLatestSubVersion(const char* path, Int_t run, Int_t version=-1)=0; protected: - - virtual ~AliCDBStorage(); - AliCDBId GetSelection(const AliCDBId& id); + + virtual ~AliCDBStorage(); + void GetSelection(/*const*/ AliCDBId* id); virtual AliCDBEntry* GetEntry(const AliCDBId& query) = 0; + virtual AliCDBId* GetEntryId(const AliCDBId& query) = 0; virtual TList* GetEntries(const AliCDBId& query) = 0; - virtual Bool_t PutEntry(AliCDBEntry* entry) = 0; + virtual Bool_t PutEntry(AliCDBEntry* entry) = 0; virtual TList *GetIdListFromFile(const char* fileName)=0; + virtual void QueryValidFiles() = 0; + void LoadTreeFromFile(AliCDBEntry* entry) const; + //void SetTreeToFile(AliCDBEntry* entry, TFile* file) const; -private: + TObjArray fValidFileIds; // list of Id's of the files valid for a given run (cached as fRun) + Int_t fRun; // run number, used to manage list of valid files + AliCDBPath fPathFilter; // path filter, used to manage list of valid files + Int_t fVersion; // version, used to manage list of valid files + AliCDBMetaData* fMetaDataFilter; // metadata, used to manage list of valid files + + TList fSelections; // list of selection criteria + TString fURI; // storage URI; + TString fType; //! Local, Grid: base folder name - Dump: file name + TString fBaseFolder; //! Local, Grid: base folder name - Dump: file name - TList fSelections; // list of selection criteria +private: + AliCDBStorage(const AliCDBStorage & source); + AliCDBStorage & operator=(const AliCDBStorage & source); ClassDef(AliCDBStorage, 0); };