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

Last change on this file since 5023 was 5018, checked in by gaug, 20 years ago
*** empty log message ***
File size: 2.9 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; //! 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 void DrawPixelContent( Int_t num ) const;
47 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0 ) const;
48
49 Float_t GetPlexiglassQE () const { return gkPlexiglassQE; }
50 Float_t GetPlexiglassQERelVar () const;
51
52 const MArrayD &GetCorningBlues () const { return fCorningBlues; }
53 const MArrayD &GetCorningReds () const { return fCorningReds; }
54
55 Bool_t IsBlindPixelMethodValid () const;
56 Bool_t IsFFactorMethodValid () const;
57 Bool_t IsCombinedMethodValid () const;
58 Bool_t IsPINDiodeMethodValid () const;
59
60 Bool_t IsBlindPixelMethodValid ( MCalibrationCam::PulserColor_t col ) const;
61 Bool_t IsFFactorMethodValid ( MCalibrationCam::PulserColor_t col ) const;
62 Bool_t IsCombinedMethodValid ( MCalibrationCam::PulserColor_t col ) const;
63 Bool_t IsPINDiodeMethodValid ( MCalibrationCam::PulserColor_t col ) const;
64
65 // Prints
66 void Print(Option_t *o="") const;
67
68 // Setters (without color only for MC!)
69 void SetBlindPixelMethodValid ( const Bool_t b=kTRUE );
70 void SetBlindPixelMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
71 void SetCombinedMethodValid ( const Bool_t b=kTRUE );
72 void SetCombinedMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
73 void SetFFactorMethodValid ( const Bool_t b=kTRUE );
74 void SetFFactorMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
75 void SetPINDiodeMethodValid ( const Bool_t b=kTRUE );
76 void SetPINDiodeMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
77
78 ClassDef(MCalibrationQECam, 2) // Container Quantum Efficieny Calibration Results Camera
79};
80
81#endif
Note: See TracBrowser for help on using the repository browser.