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

Last change on this file since 4985 was 4967, checked in by tbretz, 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 MARS_MArrayD
13#include "MArrayD.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 MArrayD fCorningBlues; //! Corning blues of the pixels (if available)
31 MArrayD fCorningReds; //! Corning reds of the pixels (if available)
32
33public:
34
35 MCalibrationQECam(const char *name=NULL, const char *title=NULL);
36
37 void Clear( Option_t *o="" );
38 void Copy ( TObject& object ) const;
39
40 // Others
41 void DrawPixelContent( Int_t num ) const;
42 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0 ) const;
43
44 Float_t GetPlexiglassQE () const { return gkPlexiglassQE; }
45 Float_t GetPlexiglassQERelVar () const;
46
47 const MArrayD &GetCorningBlues () const { return fCorningBlues; }
48 const MArrayD &GetCorningReds () const { return fCorningReds; }
49
50 Bool_t IsBlindPixelMethodValid () const;
51 Bool_t IsFFactorMethodValid () const;
52 Bool_t IsCombinedMethodValid () const;
53 Bool_t IsPINDiodeMethodValid () const;
54
55 Bool_t IsBlindPixelMethodValid ( MCalibrationCam::PulserColor_t col ) const;
56 Bool_t IsFFactorMethodValid ( MCalibrationCam::PulserColor_t col ) const;
57 Bool_t IsCombinedMethodValid ( MCalibrationCam::PulserColor_t col ) const;
58 Bool_t IsPINDiodeMethodValid ( MCalibrationCam::PulserColor_t col ) const;
59
60 // Prints
61 void Print(Option_t *o="") const;
62
63 // Setters (without color only for MC!)
64 void SetBlindPixelMethodValid ( const Bool_t b=kTRUE );
65 void SetBlindPixelMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
66 void SetCombinedMethodValid ( const Bool_t b=kTRUE );
67 void SetCombinedMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
68 void SetFFactorMethodValid ( const Bool_t b=kTRUE );
69 void SetFFactorMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
70 void SetPINDiodeMethodValid ( const Bool_t b=kTRUE );
71 void SetPINDiodeMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
72
73 ClassDef(MCalibrationQECam, 1) // Container Quantum Efficieny Calibration Results Camera
74};
75
76#endif
Note: See TracBrowser for help on using the repository browser.