]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONPreprocessor.h
Coverity fix for uninitialized variables and check for returned null value
[u/mrichter/AliRoot.git] / MUON / AliMUONPreprocessor.h
index a2010587f63e436c81fc61aaa29eece19e43903b..325b401cca7cc0214b0c27ec882277a949552664 100644 (file)
@@ -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"
@@ -21,24 +21,23 @@ class TObjArray;
 
 class AliMUONPreprocessor : public AliPreprocessor
 {
-protected:
-  AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
-  virtual ~AliMUONPreprocessor();
-  
-  void Add(AliMUONVSubprocessor* subProcessor); 
-  void DeleteSubprocessors();
-  
 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)
   {
@@ -46,22 +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, 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