]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCDBManager.h
fix codding violation in AliTRDseedV1 class
[u/mrichter/AliRoot.git] / STEER / AliCDBManager.h
index a5f72a0fcf418d457b52235981a53e9359aeb5c8..22bd2b8e486b285ee485f3c498b527976f1ae550 100644 (file)
@@ -13,6 +13,7 @@
 #include <TObject.h>
 #include <TList.h>
 #include <TMap.h>
+#include <TSystem.h>
 
 class AliCDBEntry;
 class AliCDBId;
@@ -42,21 +43,18 @@ class AliCDBManager: public TObject {
 
        TList* GetActiveStorages();
 
+       const TMap* GetStorageMap() const {return fStorageMap;}
+       const TList* GetRetrievedIds() const {return fIds;}
+
        void SetDefaultStorage(const char* dbString);
        void SetDefaultStorage(const AliCDBParam* param);
        void SetDefaultStorage(AliCDBStorage *storage);
+       void SetDefaultStorage(const char* runType, const char* simType);
+       void SetDefaultStorageFromRun(Int_t run);
 
        Bool_t IsDefaultStorageSet() const {return fDefaultStorage != 0;}
        AliCDBStorage* GetDefaultStorage() const {return fDefaultStorage;}
-       void UnsetDefaultStorage() {fDefaultStorage = 0x0;}
-
-       void SetRemoteStorage(const char* dbString);
-       void SetRemoteStorage(const AliCDBParam* param);
-       void SetRemoteStorage(AliCDBStorage *storage);
-
-       Bool_t IsRemoteStorageSet() const {return fRemoteStorage != 0;}
-       AliCDBStorage* GetRemoteStorage() const {return fRemoteStorage;}
-       void UnsetRemoteStorage() {fRemoteStorage = 0x0;}
+       void UnsetDefaultStorage();
 
        void SetSpecificStorage(const char* calibType, const char* dbString);
        void SetSpecificStorage(const char* calibType, AliCDBParam* param);
@@ -79,6 +77,8 @@ class AliCDBManager: public TObject {
        AliCDBEntry* Get(const AliCDBPath& path, const AliCDBRunRange& runRange,
                                 Int_t version = -1, Int_t subVersion = -1);
 
+       const char* GetURI(const char* path);                            
+                                
        AliCDBId* GetId(const AliCDBId& query);
        AliCDBId* GetId(const AliCDBPath& path, Int_t runNumber=-1,
                                Int_t version = -1, Int_t subVersion = -1);
@@ -92,11 +92,17 @@ class AliCDBManager: public TObject {
                                 Int_t version = -1, Int_t subVersion = -1); 
 
        Bool_t Put(TObject* object, AliCDBId& id,
-                       AliCDBMetaData* metaData, DataType type=kPrivate);
+                       AliCDBMetaData* metaData, const DataType type=kPrivate);
        Bool_t Put(AliCDBEntry* entry, DataType type=kPrivate);
 
        void SetCacheFlag(Bool_t cacheFlag) {fCache=cacheFlag;}
        Bool_t GetCacheFlag() const {return fCache;}
+       
+       ULong_t SetLock(Bool_t lockFlag=kTRUE, ULong_t key=0);
+       Bool_t GetLock() const {return fLock;}
+
+       void SetRaw(Bool_t rawFlag){fRaw=rawFlag;}
+       Bool_t GetRaw() const {return fRaw;}
 
        void SetRun(Int_t run);
        Int_t GetRun() const {return fRun;}
@@ -113,19 +119,25 @@ class AliCDBManager: public TObject {
 
        void ClearCache();
        void UnloadFromCache(const char* path);
+       const TMap* GetEntryCache() const {return &fEntryCache;}
 
        Bool_t IsShortLived(const char* path);
 
-       static AliCDBManager* Instance();
+       static AliCDBManager* Instance(TMap *entryCache = NULL, Int_t run = -1);
 
- private:
+       void Init();
+       void InitFromCache(TMap *entryCache, Int_t run);
+  
+protected:
 
        static TString fgkCondUri;      // URI of the Conditions data base folder
        static TString fgkRefUri;       // URI of the Reference data base folder
-       AliCDBParam* fCondParam;        // Conditions data storage parameters
-       AliCDBParam* fRefParam;         // Reference data storage parameters
+       static TString fgkMCIdealStorage;       // URI of the MC-Ideal Conditions data base folder form MC data
+       static TString fgkMCFullStorage;        // URI of the MC-Full Conditions data base folder form MC data
+       static TString fgkMCResidualStorage;    // URI of the MC-Residual Conditions data base folder form MC data
+       static TString fgkOCDBFolderXMLfile;    // alien path of the XML file for OCDB folder <--> Run range correspondance
 
-       AliCDBManager();
+       AliCDBManager() ; 
        AliCDBManager(const AliCDBManager & source);
        AliCDBManager & operator=(const AliCDBManager & source);
 
@@ -139,24 +151,38 @@ class AliCDBManager: public TObject {
        AliCDBParam* SelectSpecificStorage(const TString& path);
        
 
-       void Init();
+//     void Init();
        void InitShortLived();
+//     void InitFromCache(TMap *entryCache, Int_t run);
 
 
        TList fFactories;               //! list of registered storage factories
        TMap fActiveStorages;           //! list of active storages
        TMap fSpecificStorages;         //! list of detector-specific storages
+       TMap fEntryCache;               //! cache of the retrieved objects
+
+       TList* fIds;            //! List of the retrieved object Id's (to be streamed to file)
+       TMap* fStorageMap;      //! list of storages (to be streamed to file)
+       TList* fShortLived;     //! List of short lived objects
 
        AliCDBStorage *fDefaultStorage; //! pointer to default storage
-       AliCDBStorage *fRemoteStorage;  //! pointer to remote storage
        AliCDBStorage *fDrainStorage;   //! pointer to drain storage
 
-       TMap fEntryCache;       //! cache of the retrieved objects
+       AliCDBParam* fCondParam;        // Conditions data storage parameters
+       AliCDBParam* fRefParam;         // Reference data storage parameters
 
+       Int_t fRun;                     //! The run number
        Bool_t fCache;                  //! The cache flag
-       Int_t fRun;                     //! The run number
+       Bool_t fLock;   //! Lock flag, if ON default storage and run number cannot be reset
+
+       Bool_t fRaw;   // flag to say whether we are in the raw case
+       Int_t fStartRunLHCPeriod; // 1st run of the LHC period set
+       Int_t fEndRunLHCPeriod;   // last run of the LHC period set
+       TString fLHCPeriod;       // LHC period alien folder
+
+private:
+   ULong_t fKey;  //! Key for locking/unlocking
 
-       TList* fShortLived;     //! List of short lived objects
 
        ClassDef(AliCDBManager, 0);
 };