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

Last change on this file since 5138 was 4986, checked in by gaug, 20 years ago
*** empty log message ***
File size: 6.0 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 fHiGainSigma; // Sigma from fit to high gain values
19 Float_t fHiGainSigmaVar; // Error of sigma from fit to high gain values
20 Float_t fHiGainProb; // Probability of fit to high gain values
21 Float_t fLoGainMean; // Mean from fit to high gain values
22 Float_t fLoGainMeanVar; // Error of mean from fit to low gain values
23 Float_t fLoGainNumBlackout; // Number blackout events in low-gain
24 Float_t fLoGainNumPickup; // Number pickup events in low-gain
25 Float_t fLoGainSigma; // Sigma of from fit to low gain values
26 Float_t fLoGainSigmaVar; // Error of sigma from fit to low gain values
27 Float_t fLoGainProb; // Probability of fit to low gain values
28
29 enum { kHiGainSaturation, kExcluded, kValid, kDebug }; // Possible bits to be sets
30
31public:
32
33 MCalibrationPix(const char *name=NULL, const char *title=NULL);
34 ~MCalibrationPix() {}
35
36 void Clear(Option_t *o="");
37 void Copy(TObject& object) const;
38
39 // Setter
40 void SetPixId( const Int_t i ) { fPixId = i; }
41
42 void SetHiGainMean ( const Float_t f ) { fHiGainMean = f; }
43 void SetHiGainMeanVar ( const Float_t f ) { fHiGainMeanVar = f; }
44 void SetHiGainNumBlackout ( const Float_t f ) { fHiGainNumBlackout = f; }
45 void SetHiGainNumPickup ( const Float_t f ) { fHiGainNumPickup = f; }
46 void SetHiGainProb ( const Float_t f ) { fHiGainProb = f; }
47 void SetHiGainSigma ( const Float_t f ) { fHiGainSigma = f; }
48 void SetHiGainSigmaVar ( const Float_t f ) { fHiGainSigmaVar = f; }
49 void SetLoGainMean ( const Float_t f ) { fLoGainMean = f; }
50 void SetLoGainMeanVar ( const Float_t f ) { fLoGainMeanVar = f; }
51 void SetLoGainNumBlackout ( const Float_t f ) { fLoGainNumBlackout = f; }
52 void SetLoGainNumPickup ( const Float_t f ) { fLoGainNumPickup = f; }
53 void SetLoGainProb ( const Float_t f ) { fLoGainProb = f; }
54 void SetLoGainSigma ( const Float_t f ) { fLoGainSigma = f; }
55 void SetLoGainSigmaVar ( const Float_t f ) { fLoGainSigmaVar = f; }
56 void SetMean ( const Float_t f ) { IsHiGainSaturation() ? fLoGainMean = f : fHiGainMean = f ; }
57 void SetMeanVar ( const Float_t f ) { IsHiGainSaturation() ? fLoGainMeanVar = f : fHiGainMeanVar = f ; }
58 void SetNumBlackout( const Float_t f ) { IsHiGainSaturation() ? fLoGainNumBlackout = f : fHiGainNumBlackout = f ; }
59 void SetNumPickup ( const Float_t f ) { IsHiGainSaturation() ? fLoGainNumPickup = f : fHiGainNumPickup = f ; }
60 void SetProb ( const Float_t f ) { IsHiGainSaturation() ? fLoGainProb = f : fHiGainProb = f ; }
61 void SetSigma ( const Float_t f ) { IsHiGainSaturation() ? fLoGainSigma = f : fHiGainSigma = f ; }
62 void SetSigmaVar ( const Float_t f ) { IsHiGainSaturation() ? fLoGainSigmaVar = f : fHiGainSigmaVar = f ; }
63
64 void SetDebug ( const Bool_t b = kTRUE );
65 void SetExcluded ( const Bool_t b = kTRUE );
66 void SetHiGainSaturation( const Bool_t b = kTRUE );
67 void SetValid ( const Bool_t b = kTRUE );
68
69 // Getters
70 Float_t GetHiGainMean () const { return fHiGainMean ; }
71 Float_t GetHiGainMeanErr () const;
72 Float_t GetHiGainProb () const { return fHiGainProb ; }
73 Float_t GetHiGainSigma () const { return fHiGainSigma ; }
74 Float_t GetHiGainSigmaErr () const;
75 Float_t GetHiGainNumPickup () const { return fHiGainNumPickup; }
76 Float_t GetHiGainNumBlackout() const { return fHiGainNumBlackout; }
77 Float_t GetHiLoMeansDivided () const;
78 Float_t GetHiLoMeansDividedErr () const;
79 Float_t GetHiLoSigmasDivided () const;
80 Float_t GetHiLoSigmasDividedErr () const;
81
82 virtual Float_t GetLoGainMean () const { return fLoGainMean; }
83 virtual Float_t GetLoGainMeanErr () const;
84 virtual Float_t GetLoGainMeanRelVar () const;
85 virtual Float_t GetLoGainProb () const { return fLoGainProb; }
86 virtual Float_t GetLoGainSigma () const { return fLoGainSigma; }
87 virtual Float_t GetLoGainSigmaErr () const;
88 virtual Float_t GetLoGainNumPickup () const { return fLoGainNumPickup; }
89 virtual Float_t GetLoGainNumBlackout() const { return fLoGainNumBlackout; }
90
91 Float_t GetMean () const { return IsHiGainSaturation() ? GetLoGainMean() : GetHiGainMean() ; }
92 Float_t GetMeanErr () const { return IsHiGainSaturation() ? GetLoGainMeanErr() : GetHiGainMeanErr() ; }
93 Float_t GetMeanRelVar () const;
94 Float_t GetMeanSquare () const;
95 Float_t GetProb () const { return IsHiGainSaturation() ? GetLoGainProb() : GetHiGainProb() ; }
96 Float_t GetSigma () const { return IsHiGainSaturation() ? GetLoGainSigma() : GetHiGainSigma() ; }
97 Float_t GetSigmaErr () const { return IsHiGainSaturation() ? GetLoGainSigmaErr() : GetHiGainSigmaErr() ; }
98 Float_t GetSigmaRelVar() const;
99 Float_t GetNumPickup () const { return IsHiGainSaturation() ? GetLoGainNumPickup() : GetHiGainNumPickup(); }
100 Float_t GetNumBlackout() const { return IsHiGainSaturation() ? GetLoGainNumBlackout() : GetHiGainNumBlackout(); }
101 Int_t GetPixId () const { return fPixId ; }
102
103 Bool_t IsHiGainSaturation() const;
104 Bool_t IsDebug () const;
105 Bool_t IsExcluded() const;
106 Bool_t IsValid () const;
107
108 ClassDef(MCalibrationPix, 1) // Base Container for Calibration Results Pixel
109};
110
111#endif
112
Note: See TracBrowser for help on using the repository browser.