source: trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.h@ 4940

Last change on this file since 4940 was 4929, checked in by gaug, 20 years ago
*** empty log message ***
File size: 3.9 KB
Line 
1#ifndef MARS_MHCalibrationChargeCam
2#define MARS_MHCalibrationChargeCam
3
4#ifndef MARS_MHCalibrationCam
5#include "MHCalibrationCam.h"
6#endif
7
8#ifndef MARS_MArrayI
9#include "MArrayI.h"
10#endif
11
12#ifndef MARS_MArrayD
13#include "MArrayD.h"
14#endif
15
16class TH2D;
17class MRawEvtData;
18class MExtractedSignalCam;
19class MCalibrationChargePix;
20class MHCalibrationChargePix;
21
22class MHCalibrationChargeCam : public MHCalibrationCam
23{
24private:
25
26 static const Axis_t fgChargeHiGainFirst; //! First Bin of HiGain Histograms (nw set to: -100.5)
27 static const Axis_t fgChargeHiGainLast; //! Last Bin of HiGain Histograms (nw set to: 999.5)
28 static const Axis_t fgChargeLoGainFirst; //! First Bin of LoGain Histograms (nw set to: -150.5)
29 static const Axis_t fgChargeLoGainLast; //! Last Bin of LoGain Histograms (nw set to: 499.5)
30
31 static const Float_t fgNumHiGainSaturationLimit; //! The default for fNumHiGainSaturationLimit (now at: 0.01)
32 static const Float_t fgNumLoGainSaturationLimit; //! The default for fNumLoGainSaturationLimit (now at: 0.005)
33 static const Float_t fgTimeLowerLimit; //! Default for fTimeLowerLimit (now set to: 1.)
34 static const Float_t fgTimeUpperLimit; //! Default for fTimeUpperLimit (now set to: 2.)
35
36 static const Float_t gkHiGainInnerRefLines[7]; //!
37 static const Float_t gkHiGainOuterRefLines[7]; //!
38 static const Float_t gkLoGainInnerRefLines[7]; //!
39 static const Float_t gkLoGainOuterRefLines[7]; //!
40
41 MArrayD fSumhiarea ; //!
42 MArrayD fSumloarea ; //!
43 MArrayD fTimehiarea ; //!
44 MArrayD fTimeloarea ; //!
45 MArrayD fSumhisector; //!
46 MArrayD fSumlosector; //!
47 MArrayD fTimehisector; //!
48 MArrayD fTimelosector; //!
49
50 MArrayI fSathiarea ; //!
51 MArrayI fSatloarea ; //!
52 MArrayI fSathisector; //!
53 MArrayI fSatlosector; //!
54
55 Float_t fTimeLowerLimit; // Limit dist. to first signal slice (in units of FADC slices)
56 Float_t fTimeUpperLimit; // Limit dist. to last signal slice (in units of FADC slices)
57 Byte_t fFirstHiGain; // First used slice High Gain
58 Byte_t fLastHiGain; // Last used slice High Gain
59 Byte_t fFirstLoGain; // First used slice Low Gain
60 Byte_t fLastLoGain; // Last used slice Low Gain
61
62 MRawEvtData *fRawEvt; //! Raw event data
63
64 Bool_t SetupHists(const MParList *pList);
65 Bool_t ReInitHists(MParList *pList);
66 Bool_t FillHists(const MParContainer *par, const Stat_t w=1);
67
68 void FinalizeAbsTimes (MHCalibrationChargePix &hist, MCalibrationChargePix &pix, MBadPixelsPix &bad,
69 Byte_t first, Byte_t last);
70 Bool_t FinalizeHists();
71 void FinalizeBadPixels();
72
73 void DrawDataCheckPixel(MHCalibrationChargePix &pix, const Float_t refline[]);
74 void DisplayRefLines(const TH2D *hist, const Float_t refline[]) const;
75
76public:
77
78 MHCalibrationChargeCam(const char *name=NULL, const char *title=NULL);
79 ~MHCalibrationChargeCam() {}
80
81 TObject *Clone(const char *name="") const;
82
83 void SetTimeLowerLimit ( const Float_t f=fgTimeLowerLimit ) { fTimeLowerLimit = f; }
84 void SetTimeUpperLimit ( const Float_t f=fgTimeUpperLimit ) { fTimeUpperLimit = f; }
85
86 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const;
87 void DrawPixelContent( Int_t num ) const;
88
89 // Draw
90 void Draw(const Option_t *opt);
91
92 ClassDef(MHCalibrationChargeCam, 1) // Histogram class for Charge Camera Calibration
93};
94
95#endif
96
97
98
99
100
101
102
103
104
Note: See TracBrowser for help on using the repository browser.