source: trunk/MagicSoft/Mars/mstarcam/MStarPos.h@ 4693

Last change on this file since 4693 was 4667, checked in by rwagner, 20 years ago
*** empty log message ***
File size: 4.8 KB
Line 
1#ifndef MARS_MStarPos
2#define MARS_MStarPos
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7
8class MStarPos : public MParContainer
9{
10private:
11
12 //Expected position on camera
13 Float_t fMagExp;
14 Float_t fXExp; //[mm]
15 Float_t fYExp; //[mm]
16
17 //Ideal position on camera
18 Float_t fMagIdeal;
19 Float_t fXIdeal; //[mm]
20 Float_t fYIdeal; //[mm]
21
22 //Info from calculation
23 Float_t fMagCalc;
24 Float_t fMaxCalc; //[uA]
25 Float_t fMeanXCalc; //[mm]
26 Float_t fMeanYCalc; //[mm]
27 Float_t fSigmaMinorAxisCalc; //[mm]
28 Float_t fSigmaMajorAxisCalc; //[mm]
29
30 //Info from uncorrelated Gauss fit
31 Float_t fMagFit;
32 Float_t fMaxFit; //[uA]
33 Float_t fMeanXFit; //[mm]
34 Float_t fMeanYFit; //[mm]
35 Float_t fSigmaMinorAxisFit; //[mm]
36 Float_t fSigmaMajorAxisFit; //[mm]
37 Float_t fXXErr;
38 Float_t fXYErr;
39 Float_t fYYErr;
40
41 Float_t fChiSquare;
42 Int_t fNdof;
43
44 //Info from correlated Gauss fit
45 Float_t fMagCGFit;
46 Float_t fMaxCGFit; //[uA]
47 Float_t fMeanXCGFit; //[mm]
48 Float_t fMeanYCGFit; //[mm]
49 Float_t fSigmaXCGFit; //[mm]
50 Float_t fSigmaYCGFit; //[mm]
51 Float_t fCorrXYCGFit; // correlation coefficient
52 Float_t fXXErrCGFit; // error matrix of (fMeanXCGFit,fMeanYCGFit)
53 Float_t fXYErrCGFit;
54 Float_t fYYErrCGFit;
55
56 Float_t fChiSquareCGFit;
57 Int_t fNdofCGFit;
58
59
60public:
61
62 MStarPos(const char *name=NULL, const char *title=NULL);
63 //~MStarPos();
64
65 Float_t GetMagExp() {return fMagExp;}
66 Float_t GetXExp() {return fXExp;}
67 Float_t GetYExp() {return fYExp;}
68
69 Float_t GetMagIdeal() {return fMagIdeal;}
70 Float_t GetXIdeal() {return fXIdeal;}
71 Float_t GetYIdeal() {return fYIdeal;}
72
73 Float_t GetMagCalc() {return fMagCalc;}
74 Float_t GetMaxCalc() {return fMaxCalc;}
75 Float_t GetMeanXCalc() {return fMeanXCalc;}
76 Float_t GetMeanYCalc() {return fMeanYCalc;}
77 Float_t GetSigmaMinorAxisCalc() {return fSigmaMinorAxisCalc;}
78 Float_t GetSigmaMajorAxisCalc() {return fSigmaMajorAxisCalc;}
79
80 Float_t GetMagFit() {return fMagFit;}
81 Float_t GetMaxFit() {return fMaxFit;}
82 Float_t GetMeanXFit() {return fMeanXFit;}
83 Float_t GetMeanYFit() {return fMeanYFit;}
84 Float_t GetSigmaMinorAxisFit() {return fSigmaMinorAxisFit;}
85 Float_t GetSigmaMajorAxisFit() {return fSigmaMajorAxisFit;}
86 Float_t GetChiSquare() {return fChiSquare;}
87 UInt_t GetNdof() {return fNdof;}
88 Float_t GetChiSquareNdof() {return fChiSquare/fNdof;}
89
90 Float_t GetMeanX() {return fMeanXFit!=0?fMeanXFit:fMeanXCalc;}
91 Float_t GetMeanY() {return fMeanXFit!=0?fMeanYFit:fMeanYCalc;}
92 Float_t GetSigmaMinorAxis() {return fSigmaMinorAxisFit!=0?fSigmaMinorAxisFit:fSigmaMinorAxisCalc;}
93 Float_t GetSigmaMajorAxis() {return fSigmaMajorAxisFit!=0?fSigmaMajorAxisFit:fSigmaMajorAxisCalc;}
94
95 // getters for the correlated Gauss fit
96 Float_t GetMagCGFit() {return fMagCGFit;}
97 Float_t GetMaxCGFit() {return fMaxCGFit;}
98 Float_t GetMeanXCGFit() {return fMeanXCGFit;}
99 Float_t GetMeanYCGFit() {return fMeanYCGFit;}
100 Float_t GetSigmaXCGFit() {return fSigmaXCGFit;}
101 Float_t GetSigmaYCGFit() {return fSigmaYCGFit;}
102 Float_t GetCorrXYCGFit() {return fCorrXYCGFit;}
103 Float_t GetXXErrCGFit() {return fXXErrCGFit;}
104 Float_t GetXYErrCGFit() {return fXYErrCGFit;}
105 Float_t GetYYErrCGFit() {return fYYErrCGFit;}
106 Float_t GetChiSquareCGFit() {return fChiSquareCGFit;}
107 UInt_t GetNdofCGFit() {return fNdofCGFit;}
108 Float_t GetChiSquareNdofCGFit() {return fChiSquareCGFit/fNdofCGFit;}
109
110
111 void Reset();
112
113 void SetExpValues(Float_t mag, Float_t x, Float_t y);
114
115 void SetIdealValues(Float_t mag, Float_t x, Float_t y);
116
117 void SetCalcValues(Float_t mag, Float_t max, Float_t x, Float_t y,
118 Float_t sigmaMinorAxis, Float_t sigmaMajorAxis);
119
120 void SetFitValues(Float_t mag, Float_t max, Float_t x, Float_t y,
121 Float_t sigmaMinorAxis, Float_t sigmaMajorAxis,
122 Float_t chi, Int_t ndof);
123
124 void SetFitValues(Float_t mag, Float_t max, Float_t x, Float_t y,
125 Float_t sigmaX, Float_t sigmaY,
126 Float_t chi, Int_t ndof,
127 Float_t xx, Float_t xy, Float_t yy);
128
129 void SetCGFitValues(Float_t mag, Float_t max, Float_t x, Float_t y,
130 Float_t sigmaX, Float_t sigmaY, Float_t correlation,
131 Float_t xx, Float_t xy, Float_t yy,
132 Float_t chi, Int_t ndof);
133
134 void Paint(Option_t *opt=NULL);
135 void Print(Option_t *opt=NULL) const;
136
137 ClassDef(MStarPos, 1) // Container that holds the star information in the PMT camera
138};
139
140#endif
141
142
Note: See TracBrowser for help on using the repository browser.