- Implementing functions for the GRP preprocessor to retrieve DA output files from...
[u/mrichter/AliRoot.git] / STEER / AliPreprocessor.h
CommitLineData
57459306 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>
a0dbe362 17#include <TList.h>
57459306 18
57459306 19class TMap;
20
21class AliCDBMetaData;
4426d64a 22class AliCDBEntry;
57459306 23class AliShuttleInterface;
24
25class AliPreprocessor : public TNamed
26{
27 public:
1b82b32d 28
a0dbe362 29 enum { kDAQ = 0, kDCS, kHLT };
57459306 30
31 AliPreprocessor(const char* detector, AliShuttleInterface* shuttle);
32 virtual ~AliPreprocessor();
33
84090f85 34 virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
b88146b7 35 virtual UInt_t Process(TMap* dcsAliasMap) = 0;
9827400b 36
37 virtual Bool_t ProcessDCS() { return kTRUE; }
a0dbe362 38 Bool_t ProcessRunType();
39
57459306 40 protected:
eb4a4f5c 41 Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
84090f85 42 AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
eb4a4f5c 43 Bool_t StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
3c78eaa5 44 AliCDBMetaData* metaData);
9827400b 45 Bool_t StoreReferenceFile(const char* localFile, const char* gridFileName);
bba57327 46 Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName);
9827400b 47
57459306 48 const char* GetFile(Int_t system, const char* id, const char* source);
4a33bdd9 49 TList* GetFileSources(Int_t system, const char* id = 0);
6a150f83 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);
4a33bdd9 52 TList* GetFileIDs(Int_t system, const char* source);
1b82b32d 53 const char* GetRunParameter(const char* param);
4426d64a 54 AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3);
5c957e4a 55 const char* GetRunType();
a53c3f59 56 Bool_t GetHLTStatus();
ca8ea066 57 const char* GetTriggerConfiguration();
2c5f9d06 58 const char* GetCTPTimeParams();
b48d2542 59 const char* GetTriggerDetectorMask();
6a150f83 60 void Log(const char* message, UInt_t level=3);
f12d42ce 61 UInt_t GetStartTimeDCSQuery();
62 UInt_t GetEndTimeDCSQuery();
a0dbe362 63
64 void AddRunType(const char* runType);
57459306 65
66 Int_t fRun; // current run
67 UInt_t fStartTime; // starttime of current run
68 UInt_t fEndTime; // endtime of current run
69
70 private:
fe12e09c 71 AliPreprocessor(const AliPreprocessor & source);
72 AliPreprocessor & operator=(const AliPreprocessor & source);
57459306 73 AliShuttleInterface* fShuttle; // link to Shuttle
a0dbe362 74
75 TList fRunTypes; // list of run types that are processed by this preprocessor
57459306 76
77 ClassDef(AliPreprocessor, 0);
78};
79
80#endif