source: trunk/MagicSoft/Mars/mhcalib/MHCalibrationRelTimeCam.h@ 8405

Last change on this file since 8405 was 8001, checked in by tbretz, 18 years ago
*** empty log message ***
File size: 3.4 KB
Line 
1#ifndef MARS_MHCalibrationRelTimeCam
2#define MARS_MHCalibrationRelTimeCam
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 TH1F;
17class MGeomCam;
18class MHCalibrationRelTimeCam : public MHCalibrationCam
19{
20
21private:
22
23 static const Float_t fgNumHiGainSaturationLimit; //! The default for fNumHiGainSaturationLimit (now at: 0.25)
24 static const UInt_t fgReferencePixel; //! Default for fReferencePixel (now set to: 1)
25 static const Int_t fgNbins; //! Default number of bins (now set to: 900 )
26 static const Axis_t fgFirst; //! Default lower histogram limit (now set to: -13.5 )
27 static const Axis_t fgLast; //! Default upper histogram limit (now set to: 13.5 )
28 static const Float_t fgProbLimit; //! The default for fProbLimit (now set to: 0.0)
29
30 static const TString gsHistName; //! Default Histogram names
31 static const TString gsHistTitle; //! Default Histogram titles
32 static const TString gsHistXTitle; //! Default Histogram x-axis titles
33 static const TString gsHistYTitle; //! Default Histogram y-axis titles
34
35 static const TString fgReferenceFile; //! default for fReferenceFile ("mjobs/calibrationref.rc")
36
37 UInt_t fReferencePixel; // The reference pixel for rel. times
38 Float_t fInnerRefTime; // The reference mean arrival time inner pixels
39 Float_t fOuterRefTime; // The reference mean arrival time outer pixels
40
41 TString fReferenceFile; // File name containing the reference values
42
43 MArrayD fSumareahi ; //
44 MArrayD fSumarealo ; //
45 MArrayD fSumsectorhi; //
46 MArrayD fSumsectorlo; //
47 MArrayI fNumareahi ; //
48 MArrayI fNumarealo ; //
49 MArrayI fNumsectorhi; //
50 MArrayI fNumsectorlo; //
51
52 Bool_t ReInitHists(MParList *pList);
53 Bool_t FillHists(const MParContainer *par, const Stat_t w=1);
54 Bool_t FinalizeHists();
55 void FinalizeBadPixels();
56
57 void CheckOverflow(MHCalibrationPix &pix) const;
58 void DrawDataCheckPixel(MHCalibrationPix &pix, const Float_t refline);
59 void DisplayRefLines( const TH1F *hist, const Float_t refline) const;
60
61 Int_t ReadEnv ( const TEnv &env, TString prefix, Bool_t print );
62
63public:
64
65 MHCalibrationRelTimeCam(const char *name=NULL, const char *title=NULL);
66 ~MHCalibrationRelTimeCam() {}
67
68 UInt_t GetReferencePixel() const { return fReferencePixel; }
69
70 // Clone
71 TObject *Clone(const char *name="") const;
72
73 // Setters
74 void SetReferencePixel( const UInt_t i=fgReferencePixel ) { fReferencePixel = i; }
75 void SetReferenceFile ( const TString ref=fgReferenceFile ) { fReferenceFile = ref; }
76
77 Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const;
78 void DrawPixelContent(Int_t idx) const;
79
80 // Draw
81 void Draw(const Option_t *opt);
82
83 ClassDef(MHCalibrationRelTimeCam, 1) // Histogram class for Relative Time Camera Calibration
84};
85
86#endif
Note: See TracBrowser for help on using the repository browser.