Adaptation to new ROOT
[u/mrichter/AliRoot.git] / MUON / AliMUON2DStoreValidator.h
CommitLineData
ea199e33 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
ea23f04b 9/// \ingroup rec
ea199e33 10/// \class AliMUON2DStoreValidator
11/// \brief Determine which channels, manus, DEs, stations are missing
12/// from a 2DStore.
13///
78649106 14// Author Laurent Aphecetche
ea199e33 15
16#ifndef ROOT_TObject
17# include "TObject.h"
18#endif
19
20class AliMUONV2DStore;
21class TList;
22class TObjArray;
23class AliMUONCheckItem;
9b955acc 24class AliMUONVCalibParam;
ea199e33 25
26class AliMUON2DStoreValidator : public TObject
27{
28public:
29 AliMUON2DStoreValidator();
30 virtual ~AliMUON2DStoreValidator();
31
32 TObjArray* Validate(const AliMUONV2DStore& store, Float_t invalidFloatValue);
ea199e33 33
044b7e8a 34 TObjArray* Validate(const AliMUONV2DStore& store);
35
9b955acc 36 TObjArray* Validate(const AliMUONV2DStore& store,
37 Bool_t (*check)(const AliMUONVCalibParam&,Int_t));
38
39 AliMUONV2DStore* GetStatus() const { return fStatus; }
40
41 void Report(TList& lines) const;
42
43 static void Report(TList& lines, const TObjArray& chambers);
ea199e33 44
45private:
46
47 AliMUON2DStoreValidator(const AliMUON2DStoreValidator&);
48 AliMUON2DStoreValidator& operator=(const AliMUON2DStoreValidator&);
49
50 void AddMissingChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel);
51
52 void AddMissingManu(Int_t detElemId, Int_t manuId);
53
54 AliMUONCheckItem* GetChamber(Int_t chamberID);
55 AliMUONCheckItem* GetDE(Int_t detElemId);
56 AliMUONCheckItem* GetManu(Int_t detElemId, Int_t manuId);
57
9b955acc 58 static void ReportChamber(TList& list, AliMUONCheckItem& chamber);
59 static void ReportDE(TList& list, AliMUONCheckItem& de);
60 static void ReportManu(TList& list, AliMUONCheckItem& manu);
ea199e33 61
62private:
63 TList* fManuList; //! List of (DE,manuID) pairs.
64 TObjArray* fChambers; //! Array of AliMUONCheckItem.
9b955acc 65 AliMUONV2DStore* fStatus; //! Statuses
ea199e33 66
9b955acc 67 ClassDef(AliMUON2DStoreValidator,2) // Validator of 2DStore
ea199e33 68};
69
70#endif