]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUON2DStoreValidator.h
Adding CreateIterator(void) and GetNeighbours() pure virtual methods,
[u/mrichter/AliRoot.git] / MUON / AliMUON2DStoreValidator.h
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
20 class AliMUONV2DStore;
21 class TList;
22 class TObjArray;
23 class AliMUONCheckItem;
24
25 class AliMUON2DStoreValidator : public TObject
26 {
27 public:
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
36 private:
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   
53 private:
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