]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/CDB/AliPreprocessor.h
Adding the possibility to get an oldest version, also via GetAll, by means
[u/mrichter/AliRoot.git] / STEER / CDB / AliPreprocessor.h
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     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     ClassDef(AliPreprocessor, 0);
82 };
83
84 #endif