source: trunk/MagicSoft/Mars/mcalib/MCalibrationPix.h@ 9492

Last change on this file since 9492 was 5611, checked in by gaug, 20 years ago
*** empty log message ***
File size: 6.9 KB
Line 
1#ifndef MARS_MCalibrationPix
2#define MARS_MCalibrationPix
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7
8class MCalibrationPix : public MParContainer
9{
10protected:
11
12 Int_t fPixId; // Software PixId (needed to get Id in calls to Next())
13 UInt_t fFlags; // Flag for the set bits
14 Float_t fHiGainMean; // Mean from fit to high gain values
15 Float_t fHiGainMeanVar; // Error of mean from fit to high gain values
16 Float_t fHiGainNumBlackout; // Number blackout events in high-gain
17 Float_t fHiGainNumPickup; // Number pickup events in high-gain
18 Float_t fHiGainRms; // Histogram RMS of the high gain values
19 Float_t fHiGainSigma; // Sigma from fit to high gain values
20 Float_t fHiGainSigmaVar; // Error of sigma from fit to high gain values
21 Float_t fHiGainProb; // Probability of fit to high gain values
22 Float_t fLoGainMean; // Mean from fit to high gain values
23 Float_t fLoGainMeanVar; // Error of mean from fit to low gain values
24 Float_t fLoGainNumBlackout; // Number blackout events in low-gain
25 Float_t fLoGainNumPickup; // Number pickup events in low-gain
26 Float_t fLoGainRms; // Histogram RMS of the low-gain values
27 Float_t fLoGainSigma; // Sigma of from fit to low gain values
28 Float_t fLoGainSigmaVar; // Error of sigma from fit to low gain values
29 Float_t fLoGainProb; // Probability of fit to low gain values
30
31 enum { kHiGainSaturation, kExcluded, kValid, kDebug }; // Possible bits to be sets
32
33public:
34
35 MCalibrationPix(const char *name=NULL, const char *title=NULL);
36 ~MCalibrationPix() {}
37
38 void Clear(Option_t *o="");
39 void Copy(TObject& object) const;
40
41 // Setter
42 void SetPixId( const Int_t i ) { fPixId = i; }
43
44 void SetHiGainMean ( const Float_t f ) { fHiGainMean = f; }
45 void SetHiGainMeanVar ( const Float_t f ) { fHiGainMeanVar = f; }
46 void SetHiGainNumBlackout ( const Float_t f ) { fHiGainNumBlackout = f; }
47 void SetHiGainNumPickup ( const Float_t f ) { fHiGainNumPickup = f; }
48 void SetHiGainProb ( const Float_t f ) { fHiGainProb = f; }
49 void SetHiGainRms ( const Float_t f ) { fHiGainRms = f; }
50 void SetHiGainSigma ( const Float_t f ) { fHiGainSigma = f; }
51 void SetHiGainSigmaVar ( const Float_t f ) { fHiGainSigmaVar = f; }
52 void SetLoGainMean ( const Float_t f ) { fLoGainMean = f; }
53 void SetLoGainMeanVar ( const Float_t f ) { fLoGainMeanVar = f; }
54 void SetLoGainNumBlackout ( const Float_t f ) { fLoGainNumBlackout = f; }
55 void SetLoGainNumPickup ( const Float_t f ) { fLoGainNumPickup = f; }
56 void SetLoGainProb ( const Float_t f ) { fLoGainProb = f; }
57 void SetLoGainRms ( const Float_t f ) { fLoGainRms = f; }
58 void SetLoGainSigma ( const Float_t f ) { fLoGainSigma = f; }
59 void SetLoGainSigmaVar ( const Float_t f ) { fLoGainSigmaVar = f; }
60 void SetMean ( const Float_t f ) { IsHiGainSaturation() ? fLoGainMean = f : fHiGainMean = f ; }
61 void SetMeanVar ( const Float_t f ) { IsHiGainSaturation() ? fLoGainMeanVar = f : fHiGainMeanVar = f ; }
62 void SetNumBlackout( const Float_t f ) { IsHiGainSaturation() ? fLoGainNumBlackout = f : fHiGainNumBlackout = f ; }
63 void SetNumPickup ( const Float_t f ) { IsHiGainSaturation() ? fLoGainNumPickup = f : fHiGainNumPickup = f ; }
64 void SetProb ( const Float_t f ) { IsHiGainSaturation() ? fLoGainProb = f : fHiGainProb = f ; }
65 void SetSigma ( const Float_t f ) { IsHiGainSaturation() ? fLoGainSigma = f : fHiGainSigma = f ; }
66 void SetSigmaVar ( const Float_t f ) { IsHiGainSaturation() ? fLoGainSigmaVar = f : fHiGainSigmaVar = f ; }
67
68 void SetDebug ( const Bool_t b = kTRUE );
69 void SetExcluded ( const Bool_t b = kTRUE );
70 void SetHiGainSaturation( const Bool_t b = kTRUE );
71 void SetValid ( const Bool_t b = kTRUE );
72
73 // Getters
74 Float_t GetHiGainMean () const { return fHiGainMean ; }
75 Float_t GetHiGainMeanErr () const;
76 Float_t GetHiGainMeanVar () const { return fHiGainMeanVar; }
77 Float_t GetHiGainMeanRelVar () const;
78 Float_t GetHiGainProb () const { return fHiGainProb ; }
79 Float_t GetHiGainRms () const { return fHiGainRms ; }
80 Float_t GetHiGainSigma () const { return fHiGainSigma ; }
81 Float_t GetHiGainSigmaErr () const;
82 Float_t GetHiGainSigmaVar () const { return fHiGainSigmaVar; }
83 Float_t GetHiGainNumPickup () const { return fHiGainNumPickup; }
84 Float_t GetHiGainNumBlackout() const { return fHiGainNumBlackout; }
85 Float_t GetHiLoMeansDivided () const;
86 Float_t GetHiLoMeansDividedErr () const;
87 Float_t GetHiLoSigmasDivided () const;
88 Float_t GetHiLoSigmasDividedErr () const;
89
90 virtual Float_t GetLoGainMean () const { return fLoGainMean; }
91 virtual Float_t GetLoGainMeanErr () const;
92 virtual Float_t GetLoGainMeanVar () const { return fLoGainMeanVar; }
93 virtual Float_t GetLoGainMeanRelVar () const;
94 virtual Float_t GetLoGainProb () const { return fLoGainProb; }
95 virtual Float_t GetLoGainRms () const { return fLoGainRms ; }
96 virtual Float_t GetLoGainSigma () const { return fLoGainSigma; }
97 virtual Float_t GetLoGainSigmaErr () const;
98 virtual Float_t GetLoGainSigmaVar () const { return fLoGainSigmaVar; }
99 virtual Float_t GetLoGainNumPickup () const { return fLoGainNumPickup; }
100 virtual Float_t GetLoGainNumBlackout() const { return fLoGainNumBlackout; }
101
102 Float_t GetMean () const { return IsHiGainSaturation() ? GetLoGainMean() : GetHiGainMean() ; }
103 Float_t GetMeanErr () const { return IsHiGainSaturation() ? GetLoGainMeanErr() : GetHiGainMeanErr() ; }
104 Float_t GetMeanRelVar () const;
105 Float_t GetMeanSquare () const;
106 Float_t GetRms () const { return IsHiGainSaturation() ? GetLoGainRms() : GetHiGainRms() ; }
107 Float_t GetProb () const { return IsHiGainSaturation() ? GetLoGainProb() : GetHiGainProb() ; }
108 Float_t GetSigma () const { return IsHiGainSaturation() ? GetLoGainSigma() : GetHiGainSigma() ; }
109 Float_t GetSigmaErr () const { return IsHiGainSaturation() ? GetLoGainSigmaErr() : GetHiGainSigmaErr() ; }
110 Float_t GetSigmaRelVar() const;
111 Float_t GetNumPickup () const { return IsHiGainSaturation() ? GetLoGainNumPickup() : GetHiGainNumPickup(); }
112 Float_t GetNumBlackout() const { return IsHiGainSaturation() ? GetLoGainNumBlackout() : GetHiGainNumBlackout(); }
113 Int_t GetPixId () const { return fPixId ; }
114
115 Bool_t IsHiGainSaturation() const;
116 Bool_t IsDebug () const;
117 Bool_t IsExcluded() const;
118 Bool_t IsValid () const;
119
120 ClassDef(MCalibrationPix, 2) // Base Container for Calibration Results Pixel
121};
122
123#endif
124
Note: See TracBrowser for help on using the repository browser.