source: trunk/Mars/mcalib/MCalibrationQECam.h@ 10805

Last change on this file since 10805 was 5136, checked in by gaug, 20 years ago
*** empty log message ***
File size: 3.2 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 TGraphErrors;
17class TH2D;
18class MCalibrationQECam : public MCalibrationCam
19{
20private:
21
22 static const Float_t gkPlexiglassQE ; //! Quantum Efficiency Plexiglass (now set to: 0.96)
23 static const Float_t gkPlexiglassQEErr; //! Uncertainty QE Plexiglass (now set to: 0.01)
24
25 TArrayC fFlags; // Contains validity bits
26
27 enum { kBlindPixelMethodValid, kFFactorMethodValid,
28 kPINDiodeMethodValid, kCombinedMethodValid }; // Possible validity bits
29
30 void Add(const UInt_t a, const UInt_t b);
31 void AddArea(const UInt_t a, const UInt_t b);
32 void AddSector(const UInt_t a, const UInt_t b);
33
34
35protected:
36
37 MArrayD fCorningBlues; // Corning blues of the pixels (if available)
38 MArrayD fCorningReds; // Corning reds of the pixels (if available)
39
40public:
41
42 MCalibrationQECam(const char *name=NULL, const char *title=NULL);
43
44 void Clear( Option_t *o="" );
45 void Copy ( TObject& object ) const;
46
47 TGraphErrors *GetGraphQEvsCorningBlues() const;
48 TGraphErrors *GetGraphQEvsCorningReds() const;
49
50 TH2D *GetHistQEvsCorningBlues( const Int_t nbins=50, const Axis_t first=6., const Axis_t last=17.) const;
51 TH2D *GetHistQEvsCorningReds( const Int_t nbins=50, const Axis_t first=0., const Axis_t last=25.) const;
52
53 // Others
54 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0 ) const;
55
56 Float_t GetPlexiglassQE () const { return gkPlexiglassQE; }
57 Float_t GetPlexiglassQERelVar () const;
58
59 const MArrayD &GetCorningBlues () const { return fCorningBlues; }
60 const MArrayD &GetCorningReds () const { return fCorningReds; }
61
62 Bool_t IsBlindPixelMethodValid () const;
63 Bool_t IsFFactorMethodValid () const;
64 Bool_t IsCombinedMethodValid () const;
65 Bool_t IsPINDiodeMethodValid () const;
66
67 Bool_t IsBlindPixelMethodValid ( MCalibrationCam::PulserColor_t col ) const;
68 Bool_t IsFFactorMethodValid ( MCalibrationCam::PulserColor_t col ) const;
69 Bool_t IsCombinedMethodValid ( MCalibrationCam::PulserColor_t col ) const;
70 Bool_t IsPINDiodeMethodValid ( MCalibrationCam::PulserColor_t col ) const;
71
72 // Prints
73 void Print(Option_t *o="") const;
74
75 // Setters (without color only for MC!)
76 void SetBlindPixelMethodValid ( const Bool_t b=kTRUE );
77 void SetBlindPixelMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
78 void SetCombinedMethodValid ( const Bool_t b=kTRUE );
79 void SetCombinedMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
80 void SetFFactorMethodValid ( const Bool_t b=kTRUE );
81 void SetFFactorMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
82 void SetPINDiodeMethodValid ( const Bool_t b=kTRUE );
83 void SetPINDiodeMethodValid ( const Bool_t b, MCalibrationCam::PulserColor_t col);
84
85 ClassDef(MCalibrationQECam, 2) // Container Quantum Efficieny Calibration Results Camera
86};
87
88#endif
Note: See TracBrowser for help on using the repository browser.