- Disentangle masks effect from trigger chamber efficiency estimation.
[u/mrichter/AliRoot.git] / MUON / AliMUONPreprocessor.h
index b38a544..325b401 100644 (file)
@@ -25,13 +25,19 @@ public:
   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)
   {
@@ -39,29 +45,66 @@ public:
                                   validityStart,validityInfinite);
   }
   
+  /// Publish AliPreprocessor::GetRunParameter
+  const char* GetRunParameter(const char* param)
+  {
+    return AliPreprocessor::GetRunParameter(param);
+  }
+  
+  /// Publish AliPreprocessor::GetFile function
   const char* GetFile(Int_t system, const char* id, const char* source)
   {
     return AliPreprocessor::GetFile(system,id,source);
   }  
+
+  /// Publish AliPreprocessor::GetFromOCDB function
+    AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3) {
+      return AliPreprocessor::GetFromOCDB(pathLevel2,pathLevel3);      
+    }
+
+  /// Publish AliPreprocessor::GetFromOCDB function
+  AliCDBEntry* GetGeometryFromOCDB()
+  {
+    return AliPreprocessor::GetGeometryFromOCDB();
+  }
+  
+  /// 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; }
+  
+  /// Return log book parameter
+  TString GetLogBookParam(const char* parname)
+  { return TString(AliPreprocessor::GetRunParameter(parname)); }
   
 protected:
   AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
   virtual ~AliMUONPreprocessor();
   
-  void Add(AliMUONVSubprocessor* subProcessor); 
+  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:
 
-  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