source: trunk/Mars/mhcalib/MHCalibrationPulseTimeCam.h@ 20112

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