1 #ifndef ALI_SHUTTLE_INTERFACE_H
2 #define ALI_SHUTTLE_INTERFACE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 // abstract interface class to AliShuttle
17 class AliPreprocessor;
22 class AliShuttleInterface : public TObject
25 enum System { kDAQ = 0, kDCS, kHLT };
26 enum { kNDetectors = 21 }; // number of subdetectors in ALICE
28 virtual Bool_t Store(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData,
29 Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) = 0;
30 virtual Bool_t StoreReferenceData(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData) = 0;
31 virtual Bool_t StoreReferenceFile(const char* detector, const char* localFile, const char* gridFileName) = 0;
32 virtual Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName) = 0;
34 virtual const char* GetFile(Int_t system, const char* detector, const char* id, const char* source) = 0;
36 virtual TList* GetFileSources(Int_t system, const char* detector, const char* id = 0) = 0;
37 virtual TList* GetFileIDs(Int_t system, const char* detector, const char* source) = 0;
39 virtual const char* GetRunParameter(const char* lbEntry) = 0;
40 virtual UInt_t GetStartTimeDCSQuery() = 0;
41 virtual UInt_t GetEndTimeDCSQuery() = 0;
42 virtual const char* GetRunType() = 0;
43 virtual Bool_t GetHLTStatus() = 0;
44 virtual const char* GetTriggerConfiguration() = 0;
45 virtual const char* GetCTPTimeParams() = 0;
46 virtual const char* GetTriggerDetectorMask() = 0;
48 virtual AliCDBEntry* GetFromOCDB(const char* detector, const AliCDBPath& path) = 0;
50 virtual void Log(const char* detector, const char* message, UInt_t level=3) = 0;
52 virtual void RegisterPreprocessor(AliPreprocessor* preprocessor) = 0;
54 static const char* GetSystemName(UInt_t system) {return (system < 3) ? fkSystemNames[system] : 0;}
56 static const char* GetOfflineDetName(const char* detName);
57 static const char* GetDetName(UInt_t detPos);
58 static Int_t GetDetPos(const char* detName);
59 static UInt_t NDetectors() {return kNDetectors;}
61 static TString GetMainCDB () {return fgkMainCDB;}
62 static TString GetLocalCDB () {return fgkLocalCDB;}
64 static TString GetMainRefStorage() {return fgkMainRefStorage;}
65 static TString GetLocalRefStorage() {return fgkLocalRefStorage;}
66 static const char* GetShuttleLogDir() {return fgkShuttleLogDir.Data();}
67 static const char* GetShuttleTempDir() {return fgkShuttleTempDir.Data();}
69 virtual void SendMLFromDet(const char* value) = 0;
70 virtual TString* GetLTUConfig(const char* det) =0;
74 static const char* fkSystemNames[3]; // names of the systems providing data to the shuttle
75 static const char* fgkDetName[kNDetectors]; // names of detectors' preprocessors (3-letter code convention)
76 static const char* fgkOfflineDetName[kNDetectors]; // names of detectors in OCDB (AliRoot naming convention)
78 static TString fgkMainCDB; // URI of the main (Grid) CDB storage
79 static TString fgkLocalCDB; // URI of the local backup CDB storage
80 static TString fgkMainRefStorage; // URI of the main (Grid) REFERENCE storage
81 static TString fgkLocalRefStorage; // URI of the local REFERENCE storage
83 static TString fgkShuttleTempDir; // path of SHUTTLE temp folder
84 static TString fgkShuttleLogDir; // path of SHUTTLE log folder
87 ClassDef(AliShuttleInterface, 0);