/// \class AliMUONPreprocessor
/// \brief Shuttle preprocessor for MUON subsystems (TRK and TRG)
///
-/// \author Laurent Aphecetche
+// Author Laurent Aphecetche
#ifndef ALI_PREPROCESSOR_H
# include "AliPreprocessor.h"
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)
{
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 };
+protected:
+ AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
+ virtual ~AliMUONPreprocessor();
+ void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE);
+ void ClearSubprocessors();
+
+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
+ TObjArray* fSubprocessors; //!< sub processors to execute
+ Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not
- ClassDef(AliMUONPreprocessor,1) // MUON Shuttle preprocessor
+ ClassDef(AliMUONPreprocessor,2) // MUON Shuttle preprocessor
};
#endif