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

Last change on this file since 3358 was 3358, 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 Int_t fNumInnerPixels;
43 Int_t fNumOuterPixels;
44
45 void FinalizeHiGainHists(MHCalibrationChargeHiGainPix &hist, MCalibrationChargePix &pix);
46 void FinalizeLoGainHists(MHCalibrationChargeLoGainPix &hist, MCalibrationChargePix &pix);
47
48public:
49
50 MHCalibrationChargeCam(const char *name=NULL, const char *title=NULL);
51 ~MHCalibrationChargeCam();
52
53 void SetNumHiGainSaturationLimit( const Float_t lim=fgNumHiGainSaturationLimit) { fNumHiGainSaturationLimit = lim; }
54 void SetNumLoGainSaturationLimit( const Float_t lim=fgNumLoGainSaturationLimit) { fNumLoGainSaturationLimit = lim; }
55
56 Float_t GetNumHiGainSaturationLimit() const { return fNumHiGainSaturationLimit; }
57 Float_t GetNumLoGainSaturationLimit() const { return fNumLoGainSaturationLimit; }
58
59 MHCalibrationChargeHiGainPix &operator[](UInt_t i);
60 const MHCalibrationChargeHiGainPix &operator[](UInt_t i) const;
61
62 MHCalibrationChargeLoGainPix &operator()(UInt_t i);
63 const MHCalibrationChargeLoGainPix &operator()(UInt_t i) const;
64
65 MHCalibrationChargeHiGainPix &GetAverageHiGainInnerPix() { return *fAverageHiGainInnerPix; }
66 const MHCalibrationChargeHiGainPix &GetAverageHiGainInnerPix() const { return *fAverageHiGainInnerPix; }
67
68 MHCalibrationChargeLoGainPix &GetAverageLoGainInnerPix() { return *fAverageLoGainInnerPix; }
69 const MHCalibrationChargeLoGainPix &GetAverageLoGainInnerPix() const { return *fAverageLoGainInnerPix; }
70
71 MHCalibrationChargeHiGainPix &GetAverageHiGainOuterPix() { return *fAverageHiGainOuterPix; }
72 const MHCalibrationChargeHiGainPix &GetAverageHiGainOuterPix() const { return *fAverageHiGainOuterPix; }
73
74 MHCalibrationChargeLoGainPix &GetAverageLoGainOuterPix() { return *fAverageLoGainOuterPix; }
75 const MHCalibrationChargeLoGainPix &GetAverageLoGainOuterPix() const { return *fAverageLoGainOuterPix; }
76
77 Bool_t SetupFill(const MParList *pList);
78 Bool_t ReInit ( MParList *pList);
79 Bool_t Fill (const MParContainer *par, const Stat_t w=1);
80 Bool_t Finalize ( );
81
82 TObject *Clone(const char *) const;
83
84 // Draw
85 void Draw(const Option_t *opt);
86
87 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const;
88 void DrawPixelContent( Int_t num ) const;
89
90 ClassDef(MHCalibrationChargeCam, 1) // Container for calibration information of the camera
91};
92
93#endif
94
95
96
97
98
99
100
101
102
Note: See TracBrowser for help on using the repository browser.