]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUON2DStoreValidator.h
Updated comments for Doxygen
[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 rec
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 class AliMUONVCalibParam;
25
26 class AliMUON2DStoreValidator : public TObject
27 {
28 public:
29   AliMUON2DStoreValidator();
30   virtual ~AliMUON2DStoreValidator();
31   
32   TObjArray* Validate(const AliMUONV2DStore& store, Float_t invalidFloatValue);
33
34   TObjArray* Validate(const AliMUONV2DStore& store);
35   
36   TObjArray* Validate(const AliMUONV2DStore& store, 
37                       Bool_t (*check)(const AliMUONVCalibParam&,Int_t));
38
39   AliMUONV2DStore* GetStatus() const { return fStatus; }
40   
41   /// Reports what is missing, trying to be as concise as possible.
42   void Report(TList& lines) const;
43
44   static void Report(TList& lines, const TObjArray& chambers);
45
46 private:
47   /// Not implemented  
48   AliMUON2DStoreValidator(const AliMUON2DStoreValidator&);
49   /// Not implemented  
50   AliMUON2DStoreValidator& operator=(const AliMUON2DStoreValidator&);
51
52   void AddMissingChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel);
53
54   void AddMissingManu(Int_t detElemId, Int_t manuId);
55
56   AliMUONCheckItem* GetChamber(Int_t chamberID);
57   AliMUONCheckItem* GetDE(Int_t detElemId);
58   AliMUONCheckItem* GetManu(Int_t detElemId, Int_t manuId);
59   
60   static void ReportChamber(TList& list, AliMUONCheckItem& chamber);
61   static void ReportDE(TList& list, AliMUONCheckItem& de);
62   static void ReportManu(TList& list, AliMUONCheckItem& manu);
63   
64 private:
65   TList* fManuList; //!< List of (DE,manuID) pairs.
66   TObjArray* fChambers; //!< Array of AliMUONCheckItem.
67   AliMUONV2DStore* fStatus; //!< Statuses
68   
69   ClassDef(AliMUON2DStoreValidator,2) // Validator of 2DStore
70 };
71
72 #endif