source: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.h@ 9030

Last change on this file since 9030 was 7005, checked in by tbretz, 19 years ago
*** empty log message ***
File size: 4.1 KB
Line 
1#ifndef MARS_MCalibrationChargeCam
2#define MARS_MCalibrationChargeCam
3
4#ifndef MARS_MCalibrationCam
5#include "MCalibrationCam.h"
6#endif
7
8class MCalibrationQECam;
9class MCalibrationChargeCam : public MCalibrationCam
10{
11private:
12
13 Byte_t fFlags; // Bit-field to hold the flags
14
15 Float_t fNumPhotonsBlindPixelMethod; // Average nr. photons from Blind Pixel Method (Inner Pixel)
16 Float_t fNumPhotonsFFactorMethod; // Average nr. photons from F-Factor Method (Inner Pixel)
17 Float_t fNumPhotonsPINDiodeMethod; // Average nr. photons from PIN Diode Method (Inner Pixel)
18 Float_t fNumPhotonsBlindPixelMethodErr; // Error av. nr. photons from Blind Pixel Method
19 Float_t fNumPhotonsFFactorMethodErr; // Error av. nr. photons from F-Factor Method
20 Float_t fNumPhotonsPINDiodeMethodErr; // Error av. nr. photons from PIN Diode Method
21
22 enum { kFFactorMethodValid };
23
24 void Add(const UInt_t a, const UInt_t b);
25 void AddArea(const UInt_t a, const UInt_t b);
26 void AddSector(const UInt_t a, const UInt_t b);
27
28public:
29
30 MCalibrationChargeCam(const char *name=NULL, const char *title=NULL);
31
32 void Clear ( Option_t *o="" );
33
34 // Getters
35 Bool_t GetConversionFactorFFactor( Int_t ipx, Float_t &mean, Float_t &err, Float_t &ffactor );
36 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const;
37
38 Float_t GetNumPhotonsBlindPixelMethod () const { return fNumPhotonsBlindPixelMethod; }
39 Float_t GetNumPhotonsFFactorMethod () const { return fNumPhotonsFFactorMethod; }
40 Float_t GetNumPhotonsPINDiodeMethod () const { return fNumPhotonsPINDiodeMethod; }
41 Float_t GetNumPhotonsBlindPixelMethodErr() const { return fNumPhotonsBlindPixelMethodErr; }
42 Float_t GetNumPhotonsFFactorMethodErr () const { return fNumPhotonsFFactorMethodErr; }
43 Float_t GetNumPhotonsPINDiodeMethodErr () const { return fNumPhotonsPINDiodeMethodErr; }
44 Bool_t IsFFactorMethodValid () const;
45
46 TArrayF GetAveragedConvFADC2PhotPerArea (const MGeomCam &geom, const MCalibrationQECam &qecam,
47 const UInt_t ai=0, MBadPixelsCam *bad=NULL);
48 TArrayF GetAveragedConvFADC2PhePerArea (const MGeomCam &geom, const MCalibrationQECam &qecam,
49 const UInt_t ai=0, MBadPixelsCam *bad=NULL);
50 TArrayF GetAveragedConvFADC2PhotPerSector (const MGeomCam &geom, const MCalibrationQECam &qecam,
51 const UInt_t sec=0, MBadPixelsCam *bad=NULL);
52 TArrayF GetAveragedArrivalTimeMeanPerArea (const MGeomCam &geom,
53 const UInt_t ai=0, MBadPixelsCam *bad=NULL);
54 TArrayF GetAveragedArrivalTimeMeanPerSector(const MGeomCam &geom,
55 const UInt_t sec=0, MBadPixelsCam *bad=NULL);
56 TArrayF GetAveragedArrivalTimeRmsPerArea (const MGeomCam &geom,
57 const UInt_t ai=0, MBadPixelsCam *bad=NULL);
58 TArrayF GetAveragedArrivalTimeRmsPerSector (const MGeomCam &geom,
59 const UInt_t sec=0, MBadPixelsCam *bad=NULL);
60
61 Bool_t MergeHiLoConversionFactors(const MCalibrationChargeCam &cam) const;
62
63 // Prints
64 void Print(Option_t *o="") const;
65
66 // Setters
67 void SetFFactorMethodValid ( const Bool_t b=kTRUE );
68 void SetNumPhotonsBlindPixelMethod ( const Float_t f ) { fNumPhotonsBlindPixelMethod = f; }
69 void SetNumPhotonsFFactorMethod ( const Float_t f ) { fNumPhotonsFFactorMethod = f; }
70 void SetNumPhotonsPINDiodeMethod ( const Float_t f ) { fNumPhotonsPINDiodeMethod = f; }
71 void SetNumPhotonsBlindPixelMethodErr( const Float_t f ) { fNumPhotonsBlindPixelMethodErr = f; }
72 void SetNumPhotonsFFactorMethodErr ( const Float_t f ) { fNumPhotonsFFactorMethodErr = f; }
73 void SetNumPhotonsPINDiodeMethodErr ( const Float_t f ) { fNumPhotonsPINDiodeMethodErr = f; }
74
75 ClassDef(MCalibrationChargeCam, 5) // Container Charge Calibration Results Camera
76};
77
78#endif
Note: See TracBrowser for help on using the repository browser.