Line data Source code
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 0 : 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 18 : ClassDef(AliMUON2DStoreValidator,3) // Validator of 2DStore
71 : };
72 :
73 : #endif
|