]>
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); | |
33 | ||
34 | TObjArray* Validate(const AliMUONVStore& store); | |
35 | ||
36 | TObjArray* Validate(const AliMUONVStore& store, | |
37 | Bool_t (*check)(const AliMUONVCalibParam&,Int_t)); | |
38 | ||
39 | /// Return statuses | |
40 | AliMUONVStore* GetStatus() const { return fStatus; } | |
41 | ||
42 | /// Reports what is missing, trying to be as concise as possible. | |
43 | void Report(TList& lines) const; | |
44 | ||
45 | static void Report(TList& lines, const TObjArray& chambers); | |
46 | ||
47 | private: | |
48 | /// Not implemented | |
49 | AliMUON2DStoreValidator(const AliMUON2DStoreValidator&); | |
50 | /// Not implemented | |
51 | AliMUON2DStoreValidator& operator=(const AliMUON2DStoreValidator&); | |
52 | ||
53 | void AddMissingChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel); | |
54 | ||
55 | void AddMissingManu(Int_t detElemId, Int_t manuId); | |
56 | ||
57 | AliMUONCheckItem* GetChamber(Int_t chamberID); | |
58 | AliMUONCheckItem* GetDE(Int_t detElemId); | |
59 | AliMUONCheckItem* GetManu(Int_t detElemId, Int_t manuId); | |
60 | ||
61 | static void ReportChamber(TList& list, AliMUONCheckItem& chamber); | |
62 | static void ReportDE(TList& list, AliMUONCheckItem& de); | |
63 | static void ReportManu(TList& list, AliMUONCheckItem& manu); | |
64 | ||
65 | private: | |
66 | TObjArray* fChambers; //!< Array of AliMUONCheckItem. | |
67 | AliMUONVStore* fStatus; //!< Statuses | |
68 | ||
69 | ClassDef(AliMUON2DStoreValidator,3) // Validator of 2DStore | |
70 | }; | |
71 | ||
72 | #endif |