// $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
{
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);
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