| 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 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
|
|---|