X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONPreprocessor.h;h=5cfae3533345c1d4f5a648c55815ed7875205198;hb=36a7d3c62cdaa69faaed68ccea309a978c5172f8;hp=89e0d3abd6bf19e90a9c151e3498be21a1013665;hpb=fee1d02b36198ab15fdbf805fffdf2f206d81bc0;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONPreprocessor.h b/MUON/AliMUONPreprocessor.h index 89e0d3abd6b..5cfae353334 100644 --- a/MUON/AliMUONPreprocessor.h +++ b/MUON/AliMUONPreprocessor.h @@ -10,7 +10,7 @@ /// \class AliMUONPreprocessor /// \brief Shuttle preprocessor for MUON subsystems (TRK and TRG) /// -/// \author Laurent Aphecetche +// Author Laurent Aphecetche #ifndef ALI_PREPROCESSOR_H # include "AliPreprocessor.h" @@ -22,17 +22,22 @@ class TObjArray; class AliMUONPreprocessor : public AliPreprocessor { public: - AliMUONPreprocessor(const TString& detName, AliShuttleInterface* shuttle); - virtual ~AliMUONPreprocessor(); - virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime); virtual UInt_t Process(TMap* dcsAliasMap); virtual void Print(Option_t* opt="") const; + + /// Return info whether the current subprocessor(s) needs DCS or not + virtual Bool_t ProcessDCS() { return fProcessDCS; } + + /// Publish AliPreprocessor::Log function + void Log(const char* message) { AliPreprocessor::Log(message); } + /// Publish AliPreprocessor::GetFileSources function TList* GetFileSources(Int_t system, const char* id) { return AliPreprocessor::GetFileSources(system,id); } - UInt_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object, + /// Publish AliPreprocessor::Store function + Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object, AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) { @@ -40,26 +45,45 @@ public: validityStart,validityInfinite); } + /// Publish AliPreprocessor::GetFile function const char* GetFile(Int_t system, const char* id, const char* source) { return AliPreprocessor::GetFile(system,id,source); } -private: - // enum ESubprocessors { kPedestal=0, kGMS=1, kLast }; + /// Whether we can be used (e.g. whether we were properly initialized) + Bool_t IsValid() const { return fIsValid; } + + /// Mark as invalid + void Invalidate() { fIsValid = kFALSE; } + + /// Whether we should do something or not + Bool_t IsApplicable() { return fIsApplicable; } +protected: + AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle); + virtual ~AliMUONPreprocessor(); + + void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE); + void ClearSubprocessors(); + + Bool_t fIsValid; //!< whether we were correctly initialized + Bool_t fIsApplicable; //!< whether we have something to do + +private: + /// Not implemented AliMUONPreprocessor(const AliMUONPreprocessor& rhs); + /// Not implemented AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs); AliMUONVSubprocessor* Subprocessor(Int_t i) const; private: - static const TString fgkTrackerDetName; - static const TString fgkTriggerDetName; - TObjArray* fSubprocessors; ///!< sub processors to execute - - ClassDef(AliMUONPreprocessor,1) // MUON Shuttle preprocessor + TObjArray* fSubprocessors; //!< sub processors to execute + Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not + + ClassDef(AliMUONPreprocessor,4) // MUON Shuttle preprocessor }; #endif