New classes for shuttle (Laurent)
[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
9/// \ingroup shuttle
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 AliMUONV2DStore;
21class TList;
22class TObjArray;
23class AliMUONCheckItem;
24
25class AliMUON2DStoreValidator : public TObject
26{
27public:
28 AliMUON2DStoreValidator();
29 virtual ~AliMUON2DStoreValidator();
30
31 TObjArray* Validate(const AliMUONV2DStore& store, Float_t invalidFloatValue);
32 void Report() const { Report(*fChambers); }
33
34 static void Report(const TObjArray& chambers);
35
36private:
37
38 AliMUON2DStoreValidator(const AliMUON2DStoreValidator&);
39 AliMUON2DStoreValidator& operator=(const AliMUON2DStoreValidator&);
40
41 void AddMissingChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel);
42
43 void AddMissingManu(Int_t detElemId, Int_t manuId);
44
45 AliMUONCheckItem* GetChamber(Int_t chamberID);
46 AliMUONCheckItem* GetDE(Int_t detElemId);
47 AliMUONCheckItem* GetManu(Int_t detElemId, Int_t manuId);
48
49 static void ReportChamber(AliMUONCheckItem& chamber);
50 static void ReportDE(AliMUONCheckItem& de);
51 static void ReportManu(AliMUONCheckItem& manu);
52
53private:
54 TList* fManuList; //! List of (DE,manuID) pairs.
55 TObjArray* fChambers; //! Array of AliMUONCheckItem.
56
57 ClassDef(AliMUON2DStoreValidator,1) // Validator of 2DStore
58};
59
60#endif