]>
Commit | Line | Data |
---|---|---|
ea199e33 | 1 | #ifndef ALIMUONPREPROCESSOR_H |
2 | #define ALIMUONPREPROCESSOR_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 | /// \ingroup shuttle | |
10 | /// \class AliMUONPreprocessor | |
11 | /// \brief Shuttle preprocessor for MUON subsystems (TRK and TRG) | |
12 | /// | |
78649106 | 13 | // Author Laurent Aphecetche |
ea199e33 | 14 | |
15 | #ifndef ALI_PREPROCESSOR_H | |
16 | # include "AliPreprocessor.h" | |
17 | #endif | |
18 | ||
19 | class AliMUONVSubprocessor; | |
20 | class TObjArray; | |
21 | ||
22 | class AliMUONPreprocessor : public AliPreprocessor | |
23 | { | |
6c7a0c0f | 24 | public: |
ea199e33 | 25 | virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime); |
26 | virtual UInt_t Process(TMap* dcsAliasMap); | |
27 | virtual void Print(Option_t* opt="") const; | |
4bc52c93 | 28 | |
29 | /// Return info whether the current subprocessor(s) needs DCS or not | |
d489129d | 30 | virtual Bool_t ProcessDCS() { return fProcessDCS; } |
31 | ||
71a2d3aa | 32 | /// Publish AliPreprocessor::Log function |
57e176c0 | 33 | void Log(const char* message) { AliPreprocessor::Log(message); } |
34 | ||
71a2d3aa | 35 | /// Publish AliPreprocessor::GetFileSources function |
ea199e33 | 36 | TList* GetFileSources(Int_t system, const char* id) |
37 | { return AliPreprocessor::GetFileSources(system,id); } | |
38 | ||
71a2d3aa | 39 | /// Publish AliPreprocessor::Store function |
d489129d | 40 | Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object, |
ea199e33 | 41 | AliCDBMetaData* metaData, |
42 | Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) | |
43 | { | |
44 | return AliPreprocessor::Store(pathLevel2,pathLevel3,object,metaData, | |
45 | validityStart,validityInfinite); | |
46 | } | |
47 | ||
82945276 | 48 | /// Publish AliPreprocessor::GetRunParameter |
49 | const char* GetRunParameter(const char* param) | |
50 | { | |
51 | return AliPreprocessor::GetRunParameter(param); | |
52 | } | |
53 | ||
71a2d3aa | 54 | /// Publish AliPreprocessor::GetFile function |
ea199e33 | 55 | const char* GetFile(Int_t system, const char* id, const char* source) |
56 | { | |
57 | return AliPreprocessor::GetFile(system,id,source); | |
58 | } | |
2c1e4958 | 59 | |
60 | /// Publish AliPreprocessor::GetFromOCDB function | |
61 | AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3) { | |
62 | return AliPreprocessor::GetFromOCDB(pathLevel2,pathLevel3); | |
63 | } | |
64 | ||
0f72fffb | 65 | /// Publish AliPreprocessor::GetFromOCDB function |
66 | AliCDBEntry* GetGeometryFromOCDB() | |
67 | { | |
68 | return AliPreprocessor::GetGeometryFromOCDB(); | |
69 | } | |
70 | ||
c41ce74d | 71 | /// Whether we can be used (e.g. whether we were properly initialized) |
72 | Bool_t IsValid() const { return fIsValid; } | |
73 | ||
ca6cee23 | 74 | /// Mark as invalid |
75 | void Invalidate() { fIsValid = kFALSE; } | |
76 | ||
581ece00 | 77 | /// Whether we should do something or not |
78 | Bool_t IsApplicable() { return fIsApplicable; } | |
79 | ||
3e1866ad | 80 | /// Return log book parameter |
6c870207 | 81 | TString GetLogBookParam(const char* parname) |
82 | { return TString(AliPreprocessor::GetRunParameter(parname)); } | |
83 | ||
eca96915 | 84 | protected: |
85 | AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle); | |
86 | virtual ~AliMUONPreprocessor(); | |
87 | ||
d489129d | 88 | void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE); |
eca96915 | 89 | void ClearSubprocessors(); |
90 | ||
2ab3623b | 91 | Bool_t fIsValid; //!< whether we were correctly initialized |
581ece00 | 92 | Bool_t fIsApplicable; //!< whether we have something to do |
93 | ||
ea199e33 | 94 | private: |
71a2d3aa | 95 | /// Not implemented |
ea199e33 | 96 | AliMUONPreprocessor(const AliMUONPreprocessor& rhs); |
71a2d3aa | 97 | /// Not implemented |
ea199e33 | 98 | AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs); |
99 | ||
100 | AliMUONVSubprocessor* Subprocessor(Int_t i) const; | |
101 | ||
102 | private: | |
fee1d02b | 103 | |
71a2d3aa | 104 | TObjArray* fSubprocessors; //!< sub processors to execute |
d489129d | 105 | Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not |
2ab3623b | 106 | |
581ece00 | 107 | ClassDef(AliMUONPreprocessor,4) // MUON Shuttle preprocessor |
ea199e33 | 108 | }; |
109 | ||
110 | #endif |