//
#include <TNamed.h>
+#include <TList.h>
-class TList;
class TMap;
class AliCDBMetaData;
+class AliCDBEntry;
class AliShuttleInterface;
class AliPreprocessor : public TNamed
{
public:
- enum { kDAQ, kDCS, kHLT };
+
+ enum { kDAQ = 0, kDCS, kHLT };
AliPreprocessor(const char* detector, AliShuttleInterface* shuttle);
virtual ~AliPreprocessor();
- virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+ virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
virtual UInt_t Process(TMap* dcsAliasMap) = 0;
-
+
+ virtual Bool_t ProcessDCS() { return kTRUE; }
+ Bool_t ProcessRunType();
+
protected:
- UInt_t Store(TObject* object, AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
+ Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
+ Bool_t StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData);
+ Bool_t StoreReferenceFile(const char* localFile, const char* gridFileName);
+ Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName);
+
const char* GetFile(Int_t system, const char* id, const char* source);
- TList* GetFileSources(Int_t system, const char* id);
+ TList* GetFileSources(Int_t system, const char* id = 0);
+ TList* GetFileIDs(Int_t system, const char* source);
+ const char* GetRunParameter(const char* param);
+ AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3);
+ const char* GetRunType();
+ Bool_t GetHLTStatus();
+ const char* GetTriggerConfiguration();
void Log(const char* message);
+ UInt_t GetStartTimeDCSQuery();
+ UInt_t GetEndTimeDCSQuery();
+
+ void AddRunType(const char* runType);
Int_t fRun; // current run
UInt_t fStartTime; // starttime of current run
UInt_t fEndTime; // endtime of current run
private:
+ AliPreprocessor(const AliPreprocessor & source);
+ AliPreprocessor & operator=(const AliPreprocessor & source);
AliShuttleInterface* fShuttle; // link to Shuttle
+
+ TList fRunTypes; // list of run types that are processed by this preprocessor
ClassDef(AliPreprocessor, 0);
};