Run type field added in SHUTTLE framework. Run type is read from "run type" logbook...
[u/mrichter/AliRoot.git] / SHUTTLE / TestShuttle / AliTestShuttle.h
1 #ifndef ALI_TEST_SHUTTLE_H
2 #define ALI_TEST_SHUTTLE_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 // test implementation of the AliShuttleInterface, to be used for local tests of preprocessors
11 //
12
13 #include <AliShuttleInterface.h>
14 #include <TString.h>
15
16 class TMap;
17 class TList;
18 class AliCDBMetaData;
19 class AliCDBPath;
20 class AliCDBPath;
21
22 class AliTestShuttle : public AliShuttleInterface
23 {
24   public:
25     AliTestShuttle(Int_t run, UInt_t startTime, UInt_t endTime);
26     virtual ~AliTestShuttle();
27
28     void AddInputFile(Int_t system, const char* detector, const char* id, const char* source, const char* fileName);
29     void SetDCSInput(TMap* dcsAliasMap) { fDcsAliasMap = dcsAliasMap; }
30     void AddInputRunParameter(const char* key, const char* value);
31     void AddInputRunType(const char* detCode, const char* runType);
32     Bool_t AddInputCDBEntry(AliCDBEntry* entry);
33
34     void Process();
35
36     // AliShuttleInterface functions
37     virtual UInt_t Store(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData,
38                                         Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
39     virtual UInt_t StoreReferenceData(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData);
40     virtual const char* GetFile(Int_t system, const char* detector, const char* id, const char* source);
41     virtual TList* GetFileSources(Int_t system, const char* detector, const char* id);
42     virtual const char* GetRunParameter(const char* key);
43     virtual AliCDBEntry* GetFromOCDB(const AliCDBPath& path);
44     virtual const char* GetRunType(const char* detCode);
45     virtual void Log(const char* detector, const char* message);
46
47     virtual void RegisterPreprocessor(AliPreprocessor* preprocessor);
48
49     static void SetMainCDB (TString mainCDB) {fgkMainCDB = mainCDB;}
50     static void SetLocalCDB (TString localCDB) {fgkLocalCDB = localCDB;}
51
52     static void SetMainRefStorage (TString mainRefStorage) {fgkMainRefStorage = mainRefStorage;}
53     static void SetLocalRefStorage (TString localRefStorage) {fgkLocalRefStorage = localRefStorage;}
54
55     static void SetShuttleTempDir (const char* tmpDir);
56     static void SetShuttleLogDir (const char* logDir);
57
58   protected:
59
60     Int_t fRun;         // run that is simulated with the AliTestShuttle
61     UInt_t fStartTime;  // starttime that is simulated with the AliTestShuttle
62     UInt_t fEndTime;    // endtime that is simulated with the AliTestShuttle
63
64     TMap* fInputFiles;      // files for GetFile, GetFileSources
65     TMap* fRunParameters;   // run parameters
66     TMap* fRunTypeMap;      // run type
67     TObjArray* fPreprocessors; // list of preprocessors that are to be tested
68     TMap* fDcsAliasMap; // DCS data for testing
69
70   private:
71     ClassDef(AliTestShuttle, 0);
72 };
73
74 #endif