source: trunk/MagicSoft/Mars/mtemp/MFindStars.h@ 4693

Last change on this file since 4693 was 4685, checked in by rwagner, 20 years ago
*** empty log message ***
File size: 3.2 KB
Line 
1#ifndef MARS_MFindStars
2#define MARS_MFindStars
3
4#ifndef ROOT_TArrayS
5#include <TArrayS.h>
6#endif
7
8#ifndef ROOT_TArrayC
9#include <TArrayC.h>
10#endif
11
12#ifndef MARS_MTask
13#include "MTask.h"
14#endif
15
16#ifndef MARS_MHCamera
17#include "MHCamera.h"
18#endif
19
20#ifndef MARS_MAstroCamera
21#include "MAstroCamera.h"
22#endif
23
24class MGeomCam;
25class MGeomPix;
26class MCameraDC;
27class MTime;
28class MReportDrive;
29class MStarCam;
30class MStarPos;
31
32class MFindStars : public MTask
33{
34
35private:
36
37 MGeomCam *fGeomCam;
38 MCameraDC *fCurr;
39 MTime *fTimeCurr;
40 MReportDrive *fDrive;
41 MStarCam *fStars;
42
43 MAstroCamera fAstro;
44 TArrayC fPixelsUsed;
45 MHCamera fDisplay;
46
47 UInt_t fMaxNumIntegratedEvents;
48 UInt_t fNumIntegratedEvents;
49
50 Float_t fRingInterest; //[mm]
51 Float_t fMinDCForStars; //[uA]
52
53 Float_t fDCTailCut;
54
55 //Fitting(Minuit) variables
56 Int_t fNumVar;
57 Float_t fTempChisquare;
58 Int_t fTempDegreesofFreedom;
59 Int_t fMinuitPrintOutLevel;
60
61 Bool_t fUseCorrelatedGauss;
62 Bool_t fFixCorrelation;
63
64 TString *fVname;
65 TArrayD fVinit;
66 TArrayD fStep;
67 TArrayD fLimlo;
68 TArrayD fLimup;
69 TArrayI fFix;
70 TObject *fObjectFit;
71 TString fMethod;
72 Bool_t fNulloutput;
73
74 Bool_t DCPedestalCalc();
75 Bool_t FindPixelWithMaxDC(Float_t &maxDC, MGeomPix &maxPix);
76 Bool_t FindStar(MStarPos* star);
77 Bool_t ShadowStar(MStarPos* star);
78
79 TString fGeometryFile;
80 TString fBSCFile;
81
82 public:
83
84 MFindStars(const char *name=NULL, const char *title=NULL);
85
86 Int_t PreProcess(MParList *pList);
87 Int_t Process();
88 Int_t PostProcess();
89
90 void SetUseCorrelatedGauss(Bool_t usecorrgauss = kTRUE,
91 Bool_t fixcorr = kFALSE);
92 Bool_t GetUseCorrelatedGauss() {return fUseCorrelatedGauss;}
93 Bool_t GetFixCorrelation() {return fFixCorrelation;}
94
95 // setters
96 void SetNumIntegratedEvents(UInt_t max) {fMaxNumIntegratedEvents=max;}
97 void SetRingInterest(Float_t ring) {fRingInterest=ring;}
98 void SetBlindPixels(TArrayS blindpixels);
99 void SetMinuitPrintOutLevel(Int_t level) {fMinuitPrintOutLevel=level;}
100 void SetDCTailCut(Float_t cut) {fDCTailCut=cut;}
101
102 void SetChisquare(Float_t chi) {fTempChisquare=chi;}
103 void SetDegreesofFreedom(Int_t free) {fTempDegreesofFreedom=free;}
104
105 void SetGeometryFile(TString f) {fGeometryFile=f;}
106 void SetBSCFile(TString f) {fBSCFile=f;}
107 void SetRaDec(Double_t ra, Double_t dec) {fAstro.SetRaDec(ra,dec);}
108 void SetRaDec(TVector3 &v) { fAstro.SetRaDec(v); }
109 void SetLimMag(Double_t mag) { fAstro.SetLimMag(mag); }
110 void SetRadiusFOV(Double_t deg) { fAstro.SetRadiusFOV(deg); }
111
112
113 //Getters
114 MHCamera& GetDisplay() { return fDisplay; }
115
116 Float_t GetChisquare() {return fTempChisquare;}
117 Int_t GetDegreesofFreedom() {return fTempDegreesofFreedom;}
118 UInt_t GetNumIntegratedEvents() {return fMaxNumIntegratedEvents;}
119 Float_t GetRingInterest() {return fRingInterest;}
120
121 ClassDef(MFindStars, 0) // Tool to find stars from DC Currents
122};
123
124#endif
125
126
Note: See TracBrowser for help on using the repository browser.