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

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