Line data Source code
1 : #ifndef ALI_PREPROCESSOR_H
2 : #define ALI_PREPROCESSOR_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 : // This class is the CDBPreProcessor interface,
11 : // supposed to be implemented by any detector
12 : // interested in immediate processing of data
13 : // which is retrieved from DCS, DAQ or HLT.
14 : //
15 :
16 : #include <TNamed.h>
17 : #include <TList.h>
18 :
19 : class TMap;
20 :
21 : class AliCDBMetaData;
22 : class AliCDBEntry;
23 : class AliShuttleInterface;
24 :
25 : class AliPreprocessor : public TNamed
26 : {
27 : public:
28 :
29 : enum { kDAQ = 0, kDCS, kHLT, kDQM };
30 :
31 : AliPreprocessor(const char* detector, AliShuttleInterface* shuttle);
32 : virtual ~AliPreprocessor();
33 :
34 : virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
35 : virtual UInt_t Process(TMap* dcsAliasMap) = 0;
36 :
37 0 : virtual Bool_t ProcessDCS() { return kTRUE; }
38 : Bool_t ProcessRunType();
39 :
40 : protected:
41 : Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
42 : AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
43 : Bool_t StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
44 : AliCDBMetaData* metaData);
45 : Bool_t StoreReferenceFile(const char* localFile, const char* gridFileName);
46 : Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName);
47 :
48 : const char* GetFile(Int_t system, const char* id, const char* source);
49 : TList* GetFileSources(Int_t system, const char* id = 0);
50 : const char* GetForeignFile(const char* detector, Int_t system, const char* id, const char* source);
51 : TList* GetForeignFileSources(const char* detector, Int_t system, const char* id);
52 : TList* GetFileIDs(Int_t system, const char* source);
53 : const char* GetRunParameter(const char* param);
54 : AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3);
55 : AliCDBEntry* GetGeometryFromOCDB();
56 : const char* GetRunType();
57 : Bool_t GetHLTStatus();
58 : const char* GetTriggerConfiguration();
59 : const char* GetCTPTimeParams();
60 : const char* GetTriggerDetectorMask();
61 : void Log(const char* message, UInt_t level=3);
62 : UInt_t GetStartTimeDCSQuery();
63 : UInt_t GetEndTimeDCSQuery();
64 :
65 : void AddRunType(const char* runType);
66 :
67 : void SendToML(const char*);
68 : TString* GetLTUConfig(const char* det);
69 :
70 : Int_t fRun; // current run
71 : UInt_t fStartTime; // starttime of current run
72 : UInt_t fEndTime; // endtime of current run
73 :
74 : private:
75 : AliPreprocessor(const AliPreprocessor & source);
76 : AliPreprocessor & operator=(const AliPreprocessor & source);
77 : AliShuttleInterface* fShuttle; // link to Shuttle
78 :
79 : TList fRunTypes; // list of run types that are processed by this preprocessor
80 :
81 128 : ClassDef(AliPreprocessor, 0);
82 : };
83 :
84 : #endif
|