// $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"
class TList;
class TObjArray;
class AliMUONCheckItem;
+class AliMUONVCalibParam;
class AliMUON2DStoreValidator : public TObject
{
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);
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