]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIMUON2DSTOREVALIDATOR_H | |
2 | #define ALIMUON2DSTOREVALIDATOR_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // $Id$ | |
8 | ||
9 | /// \ingroup calib | |
10 | /// \class AliMUON2DStoreValidator | |
11 | /// \brief Determine which channels, manus, DEs, stations are missing | |
12 | /// from a 2DStore. | |
13 | /// | |
14 | // Author Laurent Aphecetche | |
15 | ||
16 | #ifndef ROOT_TObject | |
17 | # include "TObject.h" | |
18 | #endif | |
19 | ||
20 | class AliMUONVStore; | |
21 | class TList; | |
22 | class TObjArray; | |
23 | class AliMUONCheckItem; | |
24 | class AliMUONVCalibParam; | |
25 | ||
26 | class AliMUON2DStoreValidator : public TObject | |
27 | { | |
28 | public: | |
29 | AliMUON2DStoreValidator(); | |
30 | virtual ~AliMUON2DStoreValidator(); | |
31 | ||
32 | TObjArray* Validate(const AliMUONVStore& store, Float_t invalidFloatValue, AliMUONVStore* config=0x0); | |
33 | ||
34 | TObjArray* Validate(const AliMUONVStore& store, AliMUONVStore* config=0x0); | |
35 | ||
36 | TObjArray* Validate(const AliMUONVStore& store, | |
37 | Bool_t (*check)(const AliMUONVCalibParam&,Int_t), | |
38 | AliMUONVStore* config=0x0); | |
39 | ||
40 | /// Return statuses | |
41 | AliMUONVStore* GetStatus() const { return fStatus; } | |
42 | ||
43 | /// Reports what is missing, trying to be as concise as possible. | |
44 | void Report(TList& lines) const; | |
45 | ||
46 | static void Report(TList& lines, const TObjArray& chambers); | |
47 | ||
48 | private: | |
49 | /// Not implemented | |
50 | AliMUON2DStoreValidator(const AliMUON2DStoreValidator&); | |
51 | /// Not implemented | |
52 | AliMUON2DStoreValidator& operator=(const AliMUON2DStoreValidator&); | |
53 | ||
54 | void AddMissingChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel); | |
55 | ||
56 | void AddMissingManu(Int_t detElemId, Int_t manuId); | |
57 | ||
58 | AliMUONCheckItem* GetChamber(Int_t chamberID); | |
59 | AliMUONCheckItem* GetDE(Int_t detElemId); | |
60 | AliMUONCheckItem* GetManu(Int_t detElemId, Int_t manuId); | |
61 | ||
62 | static void ReportChamber(TList& list, const AliMUONCheckItem& chamber); | |
63 | static void ReportDE(TList& list, const AliMUONCheckItem& de); | |
64 | static void ReportManu(TList& list, const AliMUONCheckItem& manu); | |
65 | ||
66 | private: | |
67 | TObjArray* fChambers; //!< Array of AliMUONCheckItem. | |
68 | AliMUONVStore* fStatus; //!< Statuses | |
69 | ||
70 | ClassDef(AliMUON2DStoreValidator,3) // Validator of 2DStore | |
71 | }; | |
72 | ||
73 | #endif |