]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON2DStoreValidator.h
Adding code to patch St1 HV mapping
[u/mrichter/AliRoot.git] / MUON / AliMUON2DStoreValidator.h
index f0b9e39f14ccae426c05728cf927e7999b7de57a..b73c207cbe8ae1e400de2068fc36011ad44043e5 100644 (file)
@@ -6,21 +6,22 @@
 
 // $Id$
 
-/// \ingroup shuttle
+/// \ingroup calib
 /// \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"
 #endif
 
-class AliMUONV2DStore;
+class AliMUONVStore;
 class TList;
 class TObjArray;
 class AliMUONCheckItem;
+class AliMUONVCalibParam;
 
 class AliMUON2DStoreValidator : public TObject
 {
@@ -28,14 +29,26 @@ public:
   AliMUON2DStoreValidator();
   virtual ~AliMUON2DStoreValidator();
   
-  TObjArray* Validate(const AliMUONV2DStore& store, Float_t invalidFloatValue);
-  void Report() const { Report(*fChambers); }
+  TObjArray* Validate(const AliMUONVStore& store, Float_t invalidFloatValue, AliMUONVStore* config=0x0);
 
-  static void Report(const TObjArray& chambers);
+  TObjArray* Validate(const AliMUONVStore& store, AliMUONVStore* config=0x0);
+  
+  TObjArray* Validate(const AliMUONVStore& store, 
+                      Bool_t (*check)(const AliMUONVCalibParam&,Int_t),
+                      AliMUONVStore* config=0x0);
+
+  /// Return statuses
+  AliMUONVStore* 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 +59,15 @@ 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, const AliMUONCheckItem& chamber);
+  static void ReportDE(TList& list, const AliMUONCheckItem& de);
+  static void ReportManu(TList& list, const AliMUONCheckItem& manu);
   
 private:
-  TList* fManuList; //! List of (DE,manuID) pairs.
-  TObjArray* fChambers; //! Array of AliMUONCheckItem.
+  TObjArray* fChambers; //!< Array of AliMUONCheckItem.
+  AliMUONVStore* fStatus; //!< Statuses
   
-  ClassDef(AliMUON2DStoreValidator,1) // Validator of 2DStore
+  ClassDef(AliMUON2DStoreValidator,3) // Validator of 2DStore
 };
 
 #endif