]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON2DStoreValidator.h
Adding HLTbase to the list of libraries
[u/mrichter/AliRoot.git] / MUON / AliMUON2DStoreValidator.h
index f0b9e39f14ccae426c05728cf927e7999b7de57a..f5ac748f7da3c395bcd263037c8b3647a65ddcc6 100644 (file)
@@ -6,12 +6,12 @@
 
 // $Id$
 
-/// \ingroup shuttle
+/// \ingroup rec
 /// \class AliMUON2DStoreValidator
 /// \brief Determine which channels, manus, DEs, stations are missing
 /// from a 2DStore.
 /// 
-/// \author Laurent Aphecetche
+//  Author Laurent Aphecetche
 
 #ifndef ROOT_TObject
 #  include "TObject.h"
@@ -21,6 +21,7 @@ class AliMUONV2DStore;
 class TList;
 class TObjArray;
 class AliMUONCheckItem;
+class AliMUONVCalibParam;
 
 class AliMUON2DStoreValidator : public TObject
 {
@@ -29,13 +30,24 @@ public:
   virtual ~AliMUON2DStoreValidator();
   
   TObjArray* Validate(const AliMUONV2DStore& store, Float_t invalidFloatValue);
-  void Report() const { Report(*fChambers); }
 
-  static void Report(const TObjArray& chambers);
+  TObjArray* Validate(const AliMUONV2DStore& store);
+  
+  TObjArray* Validate(const AliMUONV2DStore& store, 
+                      Bool_t (*check)(const AliMUONVCalibParam&,Int_t));
+
+  /// Return statuses
+  AliMUONV2DStore* GetStatus() const { return fStatus; }
+  
+  /// Reports what is missing, trying to be as concise as possible.
+  void Report(TList& lines) const;
+
+  static void Report(TList& lines, const TObjArray& chambers);
 
 private:
-    
+  /// Not implemented  
   AliMUON2DStoreValidator(const AliMUON2DStoreValidator&);
+  /// Not implemented  
   AliMUON2DStoreValidator& operator=(const AliMUON2DStoreValidator&);
 
   void AddMissingChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel);
@@ -46,15 +58,16 @@ private:
   AliMUONCheckItem* GetDE(Int_t detElemId);
   AliMUONCheckItem* GetManu(Int_t detElemId, Int_t manuId);
   
-  static void ReportChamber(AliMUONCheckItem& chamber);
-  static void ReportDE(AliMUONCheckItem& de);
-  static void ReportManu(AliMUONCheckItem& manu);
+  static void ReportChamber(TList& list, AliMUONCheckItem& chamber);
+  static void ReportDE(TList& list, AliMUONCheckItem& de);
+  static void ReportManu(TList& list, AliMUONCheckItem& manu);
   
 private:
-  TList* fManuList; //! List of (DE,manuID) pairs.
-  TObjArray* fChambers; //! Array of AliMUONCheckItem.
+  TList* fManuList; //!< List of (DE,manuID) pairs.
+  TObjArray* fChambers; //!< Array of AliMUONCheckItem.
+  AliMUONV2DStore* fStatus; //!< Statuses
   
-  ClassDef(AliMUON2DStoreValidator,1) // Validator of 2DStore
+  ClassDef(AliMUON2DStoreValidator,2) // Validator of 2DStore
 };
 
 #endif