Line data Source code
1 : #ifndef ALI_SHUTTLE_INTERFACE_H
2 : #define ALI_SHUTTLE_INTERFACE_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /* $Id$ */
8 :
9 : //
10 : // abstract interface class to AliShuttle
11 : //
12 :
13 : #include <TObject.h>
14 : #include <TString.h>
15 :
16 : class TList;
17 : class AliPreprocessor;
18 : class AliCDBMetaData;
19 : class AliCDBPath;
20 : class AliCDBEntry;
21 :
22 0 : class AliShuttleInterface : public TObject
23 : {
24 : public:
25 : enum System { kDAQ = 0, kDCS, kHLT, kDQM };
26 : enum { kNDetectors = 22 }; // number of subdetectors in ALICE
27 :
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;
33 :
34 : virtual const char* GetFile(Int_t system, const char* detector, const char* id, const char* source) = 0;
35 :
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;
38 :
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;
47 :
48 : virtual AliCDBEntry* GetFromOCDB(const char* detector, const AliCDBPath& path) = 0;
49 :
50 : virtual void Log(const char* detector, const char* message, UInt_t level=3) = 0;
51 :
52 : virtual void RegisterPreprocessor(AliPreprocessor* preprocessor) = 0;
53 :
54 0 : static const char* GetSystemName(UInt_t system) {return (system < 4) ? fkSystemNames[system] : 0;}
55 :
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 0 : static UInt_t NDetectors() {return kNDetectors;}
60 :
61 0 : static TString GetMainCDB () {return fgkMainCDB;}
62 0 : static TString GetLocalCDB () {return fgkLocalCDB;}
63 0 : static TString GetMainRefStorage() {return fgkMainRefStorage;}
64 0 : static TString GetLocalRefStorage() {return fgkLocalRefStorage;}
65 0 : static TString GetMirrorSEs () {return fgkMirrorSEs;}
66 :
67 0 : static const char* GetShuttleLogDir() {return fgkShuttleLogDir.Data();}
68 0 : static const char* GetShuttleTempDir() {return fgkShuttleTempDir.Data();}
69 :
70 : virtual void SendMLFromDet(const char* value) = 0;
71 : virtual TString* GetLTUConfig(const char* det) =0;
72 :
73 : protected:
74 :
75 : static const char* fkSystemNames[4]; // names of the systems providing data to the shuttle
76 : static const char* fgkDetName[kNDetectors]; // names of detectors' preprocessors (3-letter code convention)
77 : static const char* fgkOfflineDetName[kNDetectors]; // names of detectors in OCDB (AliRoot naming convention)
78 :
79 : static TString fgkMainCDB; // URI of the main (Grid) CDB storage
80 : static TString fgkLocalCDB; // URI of the local backup CDB storage
81 : static TString fgkMainRefStorage; // URI of the main (Grid) REFERENCE storage
82 : static TString fgkLocalRefStorage; // URI of the local REFERENCE storage
83 : static TString fgkMirrorSEs; // mirror SEs for the main (Grid) CDB storage
84 :
85 : static TString fgkShuttleTempDir; // path of SHUTTLE temp folder
86 : static TString fgkShuttleLogDir; // path of SHUTTLE log folder
87 :
88 : private:
89 128 : ClassDef(AliShuttleInterface, 0);
90 : };
91 :
92 : #endif
|