source: trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.h@ 3357

Last change on this file since 3357 was 3352, checked in by gaug, 21 years ago
*** empty log message ***
File size: 4.3 KB
Line 
1#ifndef MARS_MHCalibrationChargeCam
2#define MARS_MHCalibrationChargeCam
3
4#ifndef ROOT_TObjArray
5#include <TObjArray.h>
6#endif
7
8#ifndef MARS_MH
9#include "MH.h"
10#endif
11#ifndef MARS_MCamEvent
12#include "MCamEvent.h"
13#endif
14
15class MRawEvtData;
16class MGeomCam;
17class MCalibrationChargeCam;
18class MCalibrationChargePix;
19class MHCalibrationChargeHiGainPix;
20class MHCalibrationChargeLoGainPix;
21class MHCalibrationChargeCam : public MH, public MCamEvent
22{
23private:
24
25 static const Float_t fgNumHiGainSaturationLimit; // The default number of fNumHiGainSaturationLimit
26 static const Float_t fgNumLoGainSaturationLimit; // The default number of fNumLoGainSaturationLimit
27
28 Float_t fNumHiGainSaturationLimit; // The rel. number of saturated higain FADC slices in the whole run upon which the pixel is called saturated
29 Float_t fNumLoGainSaturationLimit; // The rel. number of saturated logain FADC slices in the whole run upon which the pixel is called saturated
30
31 TObjArray *fHiGainArray; //-> Array of MHCalibrationChargePix with hists
32 TObjArray *fLoGainArray; //-> Array of MHCalibrationChargePix with hists
33 MHCalibrationChargeHiGainPix *fAverageHiGainInnerPix; //-> One MHCalibrationChargeHiGainPix with the average of all inner pixels
34 MHCalibrationChargeLoGainPix *fAverageLoGainInnerPix; //-> One MHCalibrationChargeLoGainPix with the average of all inner pixels
35 MHCalibrationChargeHiGainPix *fAverageHiGainOuterPix; //-> One MHCalibrationChargeHiGainPix with the average of all outer pixels
36 MHCalibrationChargeLoGainPix *fAverageLoGainOuterPix; //-> One MHCalibrationChargeLoGainPix with the average of all outer pixels
37
38 MCalibrationChargeCam *fCam; //! Class holding the results
39 MRawEvtData *fRawEvt; //! Raw event data (time slices)
40 MGeomCam *fGeom; //! MAGIC geometry
41
42 void FinalizeHiGainHists(MHCalibrationChargeHiGainPix &hist, MCalibrationChargePix &pix);
43 void FinalizeLoGainHists(MHCalibrationChargeLoGainPix &hist, MCalibrationChargePix &pix);
44
45public:
46
47 MHCalibrationChargeCam(const char *name=NULL, const char *title=NULL);
48 ~MHCalibrationChargeCam();
49
50 void SetNumHiGainSaturationLimit( const Float_t lim=fgNumHiGainSaturationLimit) { fNumHiGainSaturationLimit = lim; }
51 void SetNumLoGainSaturationLimit( const Float_t lim=fgNumLoGainSaturationLimit) { fNumLoGainSaturationLimit = lim; }
52
53 Float_t GetNumHiGainSaturationLimit() const { return fNumHiGainSaturationLimit; }
54 Float_t GetNumLoGainSaturationLimit() const { return fNumLoGainSaturationLimit; }
55
56 MHCalibrationChargeHiGainPix &operator[](UInt_t i);
57 const MHCalibrationChargeHiGainPix &operator[](UInt_t i) const;
58
59 MHCalibrationChargeLoGainPix &operator()(UInt_t i);
60 const MHCalibrationChargeLoGainPix &operator()(UInt_t i) const;
61
62 MHCalibrationChargeHiGainPix &GetAverageHiGainInnerPix() { return *fAverageHiGainInnerPix; }
63 const MHCalibrationChargeHiGainPix &GetAverageHiGainInnerPix() const { return *fAverageHiGainInnerPix; }
64
65 MHCalibrationChargeLoGainPix &GetAverageLoGainInnerPix() { return *fAverageLoGainInnerPix; }
66 const MHCalibrationChargeLoGainPix &GetAverageLoGainInnerPix() const { return *fAverageLoGainInnerPix; }
67
68 MHCalibrationChargeHiGainPix &GetAverageHiGainOuterPix() { return *fAverageHiGainOuterPix; }
69 const MHCalibrationChargeHiGainPix &GetAverageHiGainOuterPix() const { return *fAverageHiGainOuterPix; }
70
71 MHCalibrationChargeLoGainPix &GetAverageLoGainOuterPix() { return *fAverageLoGainOuterPix; }
72 const MHCalibrationChargeLoGainPix &GetAverageLoGainOuterPix() const { return *fAverageLoGainOuterPix; }
73
74 Bool_t SetupFill(const MParList *pList);
75 Bool_t ReInit ( MParList *pList);
76 Bool_t Fill (const MParContainer *par, const Stat_t w=1);
77 Bool_t Finalize ( );
78
79 TObject *Clone(const char *) const;
80
81 // Draw
82 void Draw(const Option_t *opt);
83
84 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const;
85 void DrawPixelContent( Int_t num ) const;
86
87 ClassDef(MHCalibrationChargeCam, 1) // Container for calibration information of the camera
88};
89
90#endif
91
92
93
94
95
96
97
98
99
Note: See TracBrowser for help on using the repository browser.