d015dd54c85668565d0d640ca01f33b5b05d1c9d
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibChamberStatus.h
1 #ifndef ALITRDCALIBCHAMBERSTATUS_H
2 #define ALITRDCALIBCHAMBERSTATUS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliTRDCalibChamberStatus.h 34340 2009-08-20 07:48:28Z cblume $ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //  TRD calibration class for online calibration                             //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #ifndef ROOT_THnSparse
15 #include <THnSparse.h>
16 #endif
17
18 class AliRawReader;
19
20 class AliTRDCalChamberStatus;
21 class AliRawReader;
22 class AliTRDCalDCS;
23
24
25 struct eventHeaderStruct;
26
27 class AliTRDCalibChamberStatus : public TObject {
28
29 public:
30
31   AliTRDCalibChamberStatus();
32   AliTRDCalibChamberStatus(const AliTRDCalibChamberStatus &ped);
33   virtual ~AliTRDCalibChamberStatus();
34
35   AliTRDCalibChamberStatus& operator = (const  AliTRDCalibChamberStatus &source);
36
37   void ProcessEvent(AliRawReader    *rawReader, Int_t nevents_physics);
38   
39   void Init();
40   void AnalyseHisto();
41   void CheckEORStatus(AliTRDCalDCS *calDCS);
42
43   void Add(AliTRDCalibChamberStatus *calibChamberStatus);
44
45   Int_t GetNumberEventNotEmpty() const { return fCounterEventNotEmpty; };
46
47   THnSparseI *GetSparseI()       const {return fHnSparseI;};
48   THnSparseI *GetSparseHCM()     const {return fHnSparseHCM;};
49   // for fDebugLevel>0
50   THnSparseI *GetSparseEvtDet()  const {return fHnSparseEvtDet;};
51   THnSparseI *GetSparseDebug()   const {return fHnSparseDebug;};
52   THnSparseI *GetSparseMCM()     const {return fHnSparseMCM;};
53   
54
55   AliTRDCalChamberStatus *GetCalChamberStatus() const {return fCalChamberStatus;};
56
57   void  DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
58   
59   Bool_t TestEventHisto(Int_t nevent);
60
61   // Debug
62   void     SetDebugLevel(Short_t level)  { fDebugLevel = level;   }
63
64  private:
65
66   Int_t fDetector;                           //  Current detector
67   Int_t fNumberOfTimeBins;                   //  Current number of time bins
68   Int_t fCounterEventNotEmpty;               //  Counter Events Not Empty
69   
70   AliTRDCalChamberStatus *fCalChamberStatus; //  AliTRDCalChamberStatus result
71   
72   THnSparseI *fHnSparseI;                    //  THnSparse for entries in half chambers
73   THnSparseI *fHnSparseHCM;                  //  THnSparse for DCS half chamber status
74   
75   // for fDebugLevel>0
76   THnSparseI *fHnSparseEvtDet;    //  THnSparse for entries in half chambers per events
77   THnSparseI *fHnSparseDebug;     //  THnSparse for half chambers satuts
78   THnSparseI *fHnSparseMCM;       //  THnSparse for DCS MCM status
79
80   Short_t     fDebugLevel;                   // Flag for debugging
81
82   ClassDef(AliTRDCalibChamberStatus,1)
83     
84 };
85 #endif
86