]>
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 | ||
71a2d3aa | 48 | /// Publish AliPreprocessor::GetFile function |
ea199e33 | 49 | const char* GetFile(Int_t system, const char* id, const char* source) |
50 | { | |
51 | return AliPreprocessor::GetFile(system,id,source); | |
52 | } | |
2c1e4958 | 53 | |
54 | /// Publish AliPreprocessor::GetFromOCDB function | |
55 | AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3) { | |
56 | return AliPreprocessor::GetFromOCDB(pathLevel2,pathLevel3); | |
57 | } | |
58 | ||
c41ce74d | 59 | /// Whether we can be used (e.g. whether we were properly initialized) |
60 | Bool_t IsValid() const { return fIsValid; } | |
61 | ||
ca6cee23 | 62 | /// Mark as invalid |
63 | void Invalidate() { fIsValid = kFALSE; } | |
64 | ||
581ece00 | 65 | /// Whether we should do something or not |
66 | Bool_t IsApplicable() { return fIsApplicable; } | |
67 | ||
6c870207 | 68 | TString GetLogBookParam(const char* parname) |
69 | { return TString(AliPreprocessor::GetRunParameter(parname)); } | |
70 | ||
eca96915 | 71 | protected: |
72 | AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle); | |
73 | virtual ~AliMUONPreprocessor(); | |
74 | ||
d489129d | 75 | void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE); |
eca96915 | 76 | void ClearSubprocessors(); |
77 | ||
2ab3623b | 78 | Bool_t fIsValid; //!< whether we were correctly initialized |
581ece00 | 79 | Bool_t fIsApplicable; //!< whether we have something to do |
80 | ||
ea199e33 | 81 | private: |
71a2d3aa | 82 | /// Not implemented |
ea199e33 | 83 | AliMUONPreprocessor(const AliMUONPreprocessor& rhs); |
71a2d3aa | 84 | /// Not implemented |
ea199e33 | 85 | AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs); |
86 | ||
87 | AliMUONVSubprocessor* Subprocessor(Int_t i) const; | |
88 | ||
89 | private: | |
fee1d02b | 90 | |
71a2d3aa | 91 | TObjArray* fSubprocessors; //!< sub processors to execute |
d489129d | 92 | Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not |
2ab3623b | 93 | |
581ece00 | 94 | ClassDef(AliMUONPreprocessor,4) // MUON Shuttle preprocessor |
ea199e33 | 95 | }; |
96 | ||
97 | #endif |