1 #ifndef ALI_PREPROCESSOR_H
2 #define ALI_PREPROCESSOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
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.
23 class AliShuttleInterface;
25 class AliPreprocessor : public TNamed
29 enum { kDAQ, kDCS, kHLT };
31 AliPreprocessor(const char* detector, AliShuttleInterface* shuttle);
32 virtual ~AliPreprocessor();
34 virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
35 virtual UInt_t Process(TMap* dcsAliasMap) = 0;
37 virtual Bool_t ProcessDCS() { return kTRUE; }
40 Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
41 AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
42 Bool_t StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
43 AliCDBMetaData* metaData);
44 Bool_t StoreReferenceFile(const char* localFile, const char* gridFileName);
45 Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName);
47 const char* GetFile(Int_t system, const char* id, const char* source);
48 TList* GetFileSources(Int_t system, const char* id = 0);
49 TList* GetFileIDs(Int_t system, const char* source);
50 const char* GetRunParameter(const char* param);
51 AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3);
52 const char* GetRunType();
53 Bool_t GetHLTStatus();
54 void Log(const char* message);
56 Int_t fRun; // current run
57 UInt_t fStartTime; // starttime of current run
58 UInt_t fEndTime; // endtime of current run
61 AliPreprocessor(const AliPreprocessor & source);
62 AliPreprocessor & operator=(const AliPreprocessor & source);
63 AliShuttleInterface* fShuttle; // link to Shuttle
65 ClassDef(AliPreprocessor, 0);