1 | #ifndef MARS_MCalibrationChargeCam
|
---|
2 | #define MARS_MCalibrationChargeCam
|
---|
3 |
|
---|
4 | #ifndef MARS_MCalibrationCam
|
---|
5 | #include "MCalibrationCam.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class MCalibrationQECam;
|
---|
9 | class MCalibrationChargeCam : public MCalibrationCam
|
---|
10 | {
|
---|
11 | private:
|
---|
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 |
|
---|
28 | public:
|
---|
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 *GetAveragedConvFADC2PhotPerSector ( const MGeomCam &geom, const MCalibrationQECam &qecam,
|
---|
49 | const UInt_t sec=0, MBadPixelsCam *bad=NULL);
|
---|
50 | TArrayF *GetAveragedArrivalTimeMeanPerArea ( const MGeomCam &geom,
|
---|
51 | const UInt_t ai=0, MBadPixelsCam *bad=NULL);
|
---|
52 | TArrayF *GetAveragedArrivalTimeMeanPerSector( const MGeomCam &geom,
|
---|
53 | const UInt_t sec=0, MBadPixelsCam *bad=NULL);
|
---|
54 | TArrayF *GetAveragedArrivalTimeRmsPerArea ( const MGeomCam &geom,
|
---|
55 | const UInt_t ai=0, MBadPixelsCam *bad=NULL);
|
---|
56 | TArrayF *GetAveragedArrivalTimeRmsPerSector ( const MGeomCam &geom,
|
---|
57 | const UInt_t sec=0, MBadPixelsCam *bad=NULL);
|
---|
58 |
|
---|
59 | // Prints
|
---|
60 | void Print(Option_t *o="") const;
|
---|
61 |
|
---|
62 | // Setters
|
---|
63 | void SetFFactorMethodValid ( const Bool_t b=kTRUE );
|
---|
64 | void SetNumPhotonsBlindPixelMethod ( const Float_t f ) { fNumPhotonsBlindPixelMethod = f; }
|
---|
65 | void SetNumPhotonsFFactorMethod ( const Float_t f ) { fNumPhotonsFFactorMethod = f; }
|
---|
66 | void SetNumPhotonsPINDiodeMethod ( const Float_t f ) { fNumPhotonsPINDiodeMethod = f; }
|
---|
67 | void SetNumPhotonsBlindPixelMethodErr( const Float_t f ) { fNumPhotonsBlindPixelMethodErr = f; }
|
---|
68 | void SetNumPhotonsFFactorMethodErr ( const Float_t f ) { fNumPhotonsFFactorMethodErr = f; }
|
---|
69 | void SetNumPhotonsPINDiodeMethodErr ( const Float_t f ) { fNumPhotonsPINDiodeMethodErr = f; }
|
---|
70 |
|
---|
71 | ClassDef(MCalibrationChargeCam, 5) // Container Charge Calibration Results Camera
|
---|
72 | };
|
---|
73 |
|
---|
74 | #endif
|
---|