source: tags/Mars-V0.9.4/mhcalib/MHCalibrationPulseTimeCam.h

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