]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUON2DStoreValidator.h
some more updates
[u/mrichter/AliRoot.git] / MUON / AliMUON2DStoreValidator.h
... / ...
CommitLineData
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
20class AliMUONVStore;
21class TList;
22class TObjArray;
23class AliMUONCheckItem;
24class AliMUONVCalibParam;
25
26class AliMUON2DStoreValidator : public TObject
27{
28public:
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
48private:
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
66private:
67 TObjArray* fChambers; //!< Array of AliMUONCheckItem.
68 AliMUONVStore* fStatus; //!< Statuses
69
70 ClassDef(AliMUON2DStoreValidator,3) // Validator of 2DStore
71};
72
73#endif