source: trunk/MagicSoft/Mars/mcalib/MCalibrationQECam.h@ 4866

Last change on this file since 4866 was 4866, checked in by gaug, 20 years ago
*** empty log message ***
File size: 2.8 KB
Line 
1#ifndef MARS_MCalibrationQECam
2#define MARS_MCalibrationQECam
3
4#ifndef MARS_MCalibrationCam
5#include "MCalibrationCam.h"
6#endif
7
8#ifndef ROOT_TArrayC
9#include "TArrayC.h"
10#endif
11
12#ifndef ROOT_TArrayD
13#include "TArrayD.h"
14#endif
15
16class MCalibrationQECam : public MCalibrationCam
17{
18private:
19
20 static const Float_t gkPlexiglassQE ; //! Quantum Efficiency Plexiglass (now set to: 0.96)
21 static const Float_t gkPlexiglassQEErr; //! Uncertainty QE Plexiglass (now set to: 0.01)
22
23 TArrayC fFlags; // Contains validity bits
24
25 enum { kBlindPixelMethodValid, kFFactorMethodValid,
26 kPINDiodeMethodValid, kCombinedMethodValid }; // Possible validity bits
27
28protected:
29
30 TArrayD fCorningBlues; //! Corning blues of the pixels (if available)
31 TArrayD fCorningReds; //! Corning reds of the pixels (if available)
32
33public:
34
35 MCalibrationQECam(const char *name=NULL, const char *title=NULL);
36 ~MCalibrationQECam() {}
37
38 void Clear( Option_t *o="" );
39 void Copy ( TObject& object ) const;
40
41 // Others
42 void DrawPixelContent( Int_t num ) const;
43 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0 ) const;
44
45 Float_t GetPlexiglassQE () const { return gkPlexiglassQE; }
46 Float_t GetPlexiglassQERelVar () const;
47
48 const TArrayD &GetCorningBlues () const { return fCorningBlues; }
49 const TArrayD &GetCorningReds () const { return fCorningReds; }
50
51 Bool_t IsBlindPixelMethodValid () const;
52 Bool_t IsFFactorMethodValid () const;
53 Bool_t IsCombinedMethodValid () const;
54 Bool_t IsPINDiodeMethodValid () const;
55
56 Bool_t IsBlindPixelMethodValid ( MCalibrationCam::PulserColor_t col ) const;
57 Bool_t IsFFactorMethodValid ( MCalibrationCam::PulserColor_t col ) const;
58 Bool_t IsCombinedMethodValid ( MCalibrationCam::PulserColor_t col ) const;
59 Bool_t IsPINDiodeMethodValid ( MCalibrationCam::PulserColor_t col ) const;
60
61 // Prints
62 void Print(Option_t *o="") const;
63
64 // Setters (without color only for MC!)
65 void SetBlindPixelMethodValid ( const Bool_t b=kTRUE );
66 void SetBlindPixelMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
67 void SetCombinedMethodValid ( const Bool_t b=kTRUE );
68 void SetCombinedMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
69 void SetFFactorMethodValid ( const Bool_t b=kTRUE );
70 void SetFFactorMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
71 void SetPINDiodeMethodValid ( const Bool_t b=kTRUE );
72 void SetPINDiodeMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
73
74 ClassDef(MCalibrationQECam, 1) // Container Quantum Efficieny Calibration Results Camera
75};
76
77#endif
78
79
80
81
82
Note: See TracBrowser for help on using the repository browser.