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

Last change on this file since 5200 was 4820, checked in by wittek, 20 years ago
*** empty log message ***
File size: 3.0 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
63 TString *fVname;
64 TArrayD fVinit;
65 TArrayD fStep;
66 TArrayD fLimlo;
67 TArrayD fLimup;
68 TArrayI fFix;
69 TObject *fObjectFit;
70 TString fMethod;
71 Bool_t fNulloutput;
72
73 Bool_t DCPedestalCalc();
74 Bool_t FindPixelWithMaxDC(Float_t &maxDC, MGeomPix &maxPix);
75 Bool_t FindStar(MStarPos* star);
76 Bool_t ShadowStar(MStarPos* star);
77
78 TString fGeometryFile;
79 TString fBSCFile;
80
81 public:
82
83 MFindStars(const char *name=NULL, const char *title=NULL);
84
85 Int_t PreProcess(MParList *pList);
86 Int_t Process();
87 Int_t PostProcess();
88
89 void SetUseCorrelatedGauss(Bool_t usecorrgauss = kTRUE);
90 Bool_t GetUseCorrelatedGauss() {return fUseCorrelatedGauss;}
91
92 // setters
93 void SetNumIntegratedEvents(UInt_t max) {fMaxNumIntegratedEvents=max;}
94 void SetRingInterest(Float_t ring) {fRingInterest=ring;}
95 void SetBlindPixels(TArrayS blindpixels);
96 void SetMinuitPrintOutLevel(Int_t level) {fMinuitPrintOutLevel=level;}
97 void SetDCTailCut(Float_t cut) {fDCTailCut=cut;}
98
99 void SetChisquare(Float_t chi) {fTempChisquare=chi;}
100 void SetDegreesofFreedom(Int_t free) {fTempDegreesofFreedom=free;}
101
102 void SetGeometryFile(TString f) {fGeometryFile=f;}
103 void SetBSCFile(TString f) {fBSCFile=f;}
104 void SetRaDec(Double_t ra, Double_t dec) {fAstro.SetRaDec(ra,dec);}
105 void SetRaDec(TVector3 &v) { fAstro.SetRaDec(v); }
106 void SetLimMag(Double_t mag) { fAstro.SetLimMag(mag); }
107 void SetRadiusFOV(Double_t deg) { fAstro.SetRadiusFOV(deg); }
108
109
110 //Getters
111 MHCamera& GetDisplay() { return fDisplay; }
112
113 Float_t GetChisquare() {return fTempChisquare;}
114 Int_t GetDegreesofFreedom() {return fTempDegreesofFreedom;}
115 UInt_t GetNumIntegratedEvents() {return fMaxNumIntegratedEvents;}
116 Float_t GetRingInterest() {return fRingInterest;}
117
118 ClassDef(MFindStars, 0) // Tool to find stars from DC Currents
119};
120
121#endif
122
123
Note: See TracBrowser for help on using the repository browser.