]>
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 | ||
eca96915 | 68 | protected: |
69 | AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle); | |
70 | virtual ~AliMUONPreprocessor(); | |
71 | ||
d489129d | 72 | void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE); |
eca96915 | 73 | void ClearSubprocessors(); |
74 | ||
2ab3623b | 75 | Bool_t fIsValid; //!< whether we were correctly initialized |
581ece00 | 76 | Bool_t fIsApplicable; //!< whether we have something to do |
77 | ||
ea199e33 | 78 | private: |
71a2d3aa | 79 | /// Not implemented |
ea199e33 | 80 | AliMUONPreprocessor(const AliMUONPreprocessor& rhs); |
71a2d3aa | 81 | /// Not implemented |
ea199e33 | 82 | AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs); |
83 | ||
84 | AliMUONVSubprocessor* Subprocessor(Int_t i) const; | |
85 | ||
86 | private: | |
fee1d02b | 87 | |
71a2d3aa | 88 | TObjArray* fSubprocessors; //!< sub processors to execute |
d489129d | 89 | Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not |
2ab3623b | 90 | |
581ece00 | 91 | ClassDef(AliMUONPreprocessor,4) // MUON Shuttle preprocessor |
ea199e33 | 92 | }; |
93 | ||
94 | #endif |