source: trunk/MagicSoft/Mars/mhcalib/MHCalibrationPulseTimeCam.h@ 8785

Last change on this file since 8785 was 8554, checked in by tbretz, 18 years ago
*** empty log message ***
File size: 3.4 KB
Line 
1#ifndef MARS_MHCalibrationPulseTimeCam
2#define MARS_MHCalibrationPulseTimeCam
3
4#ifndef MARS_MHCalibrationCam
5#include "MHCalibrationCam.h"
6#endif
7
8class TH1F;
9class MRawEvtData;
10class MHCalibrationChargePix;
11
12class MHCalibrationPulseTimeCam : public MHCalibrationCam
13{
14private:
15
16 static const UInt_t fgSaturationLimit; //! Default for fSaturationLimit (now set to: 245)
17 static const UInt_t fgLowerSignalLimit; //! Default for fLowerSignalLimit
18 static const Int_t fgNumPixelsRequired; //! Default for fNumPixelsRequired
19
20 static const Int_t fgHiGainNbins; //! Nr. bins of HiGain Histograms (now set to: 550 )
21 static const Axis_t fgHiGainFirst; //! First Bin of HiGain Histograms (now set to: -100.5)
22 static const Axis_t fgHiGainLast; //! Last Bin of HiGain Histograms (now set to: 999.5)
23 static const Float_t fgProbLimit; //! The default for fProbLimit (now set to: 0.00001)
24
25 static const TString fgReferenceFile; //! default for fReferenceFile ("mjobs/calibrationref.rc")
26
27 static const TString gsHistName; //! Default Histogram names
28 static const TString gsHistTitle; //! Default Histogram titles
29 static const TString gsHistXTitle; //! Default Histogram x-axis titles
30 static const TString gsHistYTitle; //! Default Histogram y-axis titles
31
32 UInt_t fSaturationLimit; // Highest FADC slice value until being declared saturated
33 UInt_t fLowerSignalLimit; // Lower signal limit for pulse time extraction
34 Int_t fNumPixelsRequired; // Minimum Number of pixels required for averageing
35
36 TString fReferenceFile; // File name containing the reference values
37
38 Float_t fInnerRefTime; // The reference mean arrival time inner pixels
39 Float_t fOuterRefTime; // The reference mean arrival time outer pixels
40
41 MBadPixelsCam *fBadPixels; //! Bad Pixels
42
43 void InitHiGainArrays( const Int_t npix, const Int_t nareas, const Int_t nsectors );
44
45 Bool_t SetupHists(const MParList *pList);
46 Bool_t ReInitHists(MParList *pList);
47 Bool_t FillHists(const MParContainer *par, const Stat_t w=1);
48
49 Bool_t FinalizeHists();
50
51 void DrawDataCheckPixel(MHCalibrationPix &pix, const Float_t refline);
52 void DisplayRefLines ( const TH1F *hist, const Float_t refline) const;
53 void CalcHists (MHCalibrationPix &hist, MCalibrationPix &pix) const;
54
55 Int_t ReadEnv ( const TEnv &env, TString prefix, Bool_t print);
56
57public:
58
59 MHCalibrationPulseTimeCam(const char *name=NULL, const char *title=NULL);
60 ~MHCalibrationPulseTimeCam() {}
61
62 // Clone
63 TObject *Clone(const char *name="") const;
64
65 // Draw
66 void Draw(const Option_t *opt);
67
68 void SetReferenceFile ( const TString ref=fgReferenceFile ) { fReferenceFile = ref; }
69 void SetSaturationLimit ( const UInt_t lim=fgSaturationLimit ) { fSaturationLimit = lim; }
70 void SetLowerSignalLimit ( const UInt_t lim=fgLowerSignalLimit ) { fLowerSignalLimit = lim; }
71 void SetNumPixelsRequired( const Byte_t lim=fgNumPixelsRequired ) { fNumPixelsRequired = lim; }
72
73 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const { return kTRUE; }
74 void DrawPixelContent( Int_t num ) const;
75
76 ClassDef(MHCalibrationPulseTimeCam, 2) // Histogram class for Pulse Time Checks
77};
78
79#endif
Note: See TracBrowser for help on using the repository browser.