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