1 #ifndef ALIMUON2DSTOREVALIDATOR_H
2 #define ALIMUON2DSTOREVALIDATOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUON2DStoreValidator
11 /// \brief Determine which channels, manus, DEs, stations are missing
14 // Author Laurent Aphecetche
20 class AliMUONV2DStore;
23 class AliMUONCheckItem;
24 class AliMUONVCalibParam;
26 class AliMUON2DStoreValidator : public TObject
29 AliMUON2DStoreValidator();
30 virtual ~AliMUON2DStoreValidator();
32 TObjArray* Validate(const AliMUONV2DStore& store, Float_t invalidFloatValue);
34 TObjArray* Validate(const AliMUONV2DStore& store);
36 TObjArray* Validate(const AliMUONV2DStore& store,
37 Bool_t (*check)(const AliMUONVCalibParam&,Int_t));
39 AliMUONV2DStore* GetStatus() const { return fStatus; }
41 /// Reports what is missing, trying to be as concise as possible.
42 void Report(TList& lines) const;
44 static void Report(TList& lines, const TObjArray& chambers);
48 AliMUON2DStoreValidator(const AliMUON2DStoreValidator&);
50 AliMUON2DStoreValidator& operator=(const AliMUON2DStoreValidator&);
52 void AddMissingChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel);
54 void AddMissingManu(Int_t detElemId, Int_t manuId);
56 AliMUONCheckItem* GetChamber(Int_t chamberID);
57 AliMUONCheckItem* GetDE(Int_t detElemId);
58 AliMUONCheckItem* GetManu(Int_t detElemId, Int_t manuId);
60 static void ReportChamber(TList& list, AliMUONCheckItem& chamber);
61 static void ReportDE(TList& list, AliMUONCheckItem& de);
62 static void ReportManu(TList& list, AliMUONCheckItem& manu);
65 TList* fManuList; //!< List of (DE,manuID) pairs.
66 TObjArray* fChambers; //!< Array of AliMUONCheckItem.
67 AliMUONV2DStore* fStatus; //!< Statuses
69 ClassDef(AliMUON2DStoreValidator,2) // Validator of 2DStore