]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliShuttleInterface.h
- Implementing functions for the GRP preprocessor to retrieve DA output files from...
[u/mrichter/AliRoot.git] / STEER / AliShuttleInterface.h
index dd6d4386edf67f9786ea94a29d3bef138fec484c..ddb298d93a4e473a75e8ba0fef6adc321c0baa5d 100644 (file)
 //
 
 #include <TObject.h>
+#include <TString.h>
 
 class TList;
-class AliCDBMetaData;
 class AliPreprocessor;
+class AliCDBMetaData;
 class AliCDBPath;
+class AliCDBEntry;
 
 class AliShuttleInterface : public TObject
 {
   public:
-    enum { kDAQ = 0, kDCS, kHLT };
-    static const char* fkSystemNames[3];  // names of the systems providing data to the shuttle
+    enum System { kDAQ = 0, kDCS, kHLT };
+    enum { kNDetectors = 21 }; // number of subdetectors in ALICE
 
-    virtual UInt_t Store(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData,
-                               Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) = 0;
-    virtual UInt_t StoreReferenceData(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData,
+    virtual Bool_t Store(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData,
                                Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) = 0;
+    virtual Bool_t StoreReferenceData(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData) = 0;
+    virtual Bool_t StoreReferenceFile(const char* detector, const char* localFile, const char* gridFileName) = 0;
+    virtual Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName) = 0;
+    
     virtual const char* GetFile(Int_t system, const char* detector, const char* id, const char* source) = 0;
-    virtual TList* GetFileSources(Int_t system, const char* detector, const char* id) = 0;
-    virtual void Log(const char* detector, const char* message) = 0;
+    
+    virtual TList* GetFileSources(Int_t system, const char* detector, const char* id = 0) = 0;
+    virtual TList* GetFileIDs(Int_t system, const char* detector, const char* source) = 0;
+    
+    virtual const char* GetRunParameter(const char* lbEntry) = 0;
+    virtual UInt_t GetStartTimeDCSQuery() = 0;
+    virtual UInt_t GetEndTimeDCSQuery() = 0;
+    virtual const char* GetRunType() = 0;
+    virtual Bool_t GetHLTStatus() = 0;
+    virtual const char* GetTriggerConfiguration() = 0;
+    virtual const char* GetCTPTimeParams() = 0;
+    virtual const char* GetTriggerDetectorMask() = 0;
+
+    virtual AliCDBEntry* GetFromOCDB(const char* detector, const AliCDBPath& path) = 0;
+    
+    virtual void Log(const char* detector, const char* message, UInt_t level=3) = 0;
 
     virtual void RegisterPreprocessor(AliPreprocessor* preprocessor) = 0;
 
+    static const char* GetSystemName(UInt_t system) {return (system < 3) ? fkSystemNames[system] : 0;}
+
+    static const char* GetOfflineDetName(const char* detName);
+    static const char* GetDetName(UInt_t detPos);
+    static Int_t GetDetPos(const char* detName);
+    static UInt_t NDetectors() {return kNDetectors;}
+
+    static TString GetMainCDB () {return fgkMainCDB;}
+    static TString GetLocalCDB () {return fgkLocalCDB;}
+
+    static TString GetMainRefStorage() {return fgkMainRefStorage;}
+    static TString GetLocalRefStorage() {return fgkLocalRefStorage;}
+    static const char* GetShuttleLogDir() {return fgkShuttleLogDir.Data();}
+    static const char* GetShuttleTempDir() {return fgkShuttleTempDir.Data();}
+
+  protected:
+
+    static const char* fkSystemNames[3];               // names of the systems providing data to the shuttle
+    static const char* fgkDetName[kNDetectors];        // names of detectors' preprocessors (3-letter code convention)
+    static const char* fgkOfflineDetName[kNDetectors];  // names of detectors in OCDB (AliRoot naming convention)
+
+    static TString fgkMainCDB;         // URI of the main (Grid) CDB storage
+    static TString fgkLocalCDB;                // URI of the local backup CDB storage
+    static TString fgkMainRefStorage;  // URI of the main (Grid) REFERENCE storage
+    static TString fgkLocalRefStorage; // URI of the local REFERENCE storage
+
+    static TString fgkShuttleTempDir;  // path of SHUTTLE temp folder
+    static TString fgkShuttleLogDir;   // path of SHUTTLE log folder
+
   private:
     ClassDef(AliShuttleInterface, 0);
 };