source: branches/MarsISDCBranchBasedOn17887/mtemp/mmpi/MFindStars.h@ 18106

Last change on this file since 18106 was 4440, checked in by rwagner, 20 years ago
*** empty log message ***
File size: 2.8 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 MStarLocalCam;
30class MStarLocalPos;
31
32class MFindStars : public MTask
33{
34
35private:
36
37 MGeomCam *fGeomCam;
38 MCameraDC *fCurr;
39 MTime *fTimeCurr;
40 MReportDrive *fDrive;
41 MStarLocalCam *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 const Int_t fNumVar;
57 Float_t fTempChisquare;
58 Int_t fTempDegreesofFreedom;
59 Int_t fMinuitPrintOutLevel;
60
61 TString *fVname;
62 TArrayD fVinit;
63 TArrayD fStep;
64 TArrayD fLimlo;
65 TArrayD fLimup;
66 TArrayI fFix;
67 TObject *fObjectFit;
68 TString fMethod;
69 Bool_t fNulloutput;
70
71 Bool_t DCPedestalCalc();
72 Bool_t FindPixelWithMaxDC(Float_t &maxDC, MGeomPix &maxPix);
73 Bool_t FindStar(MStarLocalPos* star);
74 Bool_t ShadowStar(MStarLocalPos* star);
75
76 TString fGeometryFile;
77 TString fBSCFile;
78
79 public:
80
81 MFindStars(const char *name=NULL, const char *title=NULL);
82
83 Int_t PreProcess(MParList *pList);
84 Int_t Process();
85 Int_t PostProcess();
86
87 // setters
88 void SetNumIntegratedEvents(UInt_t max) {fMaxNumIntegratedEvents=max;}
89 void SetRingInterest(Float_t ring) {fRingInterest=ring;}
90 void SetBlindPixels(TArrayS blindpixels);
91 void SetMinuitPrintOutLevel(Int_t level) {fMinuitPrintOutLevel=level;}
92 void SetDCTailCut(Float_t cut) {fDCTailCut=cut;}
93
94 void SetChisquare(Float_t chi) {fTempChisquare=chi;}
95 void SetDegreesofFreedom(Int_t free) {fTempDegreesofFreedom=free;}
96
97 void SetGeometryFile(TString f) {fGeometryFile=f;}
98 void SetBSCFile(TString f) {fBSCFile=f;}
99 void SetRaDec(Double_t ra, Double_t dec) {fAstro.SetRaDec(ra,dec);}
100 void SetRaDec(TVector3 &v) { fAstro.SetRaDec(v); }
101 void SetLimMag(Double_t mag) { fAstro.SetLimMag(mag); }
102 void SetRadiusFOV(Double_t deg) { fAstro.SetRadiusFOV(deg); }
103
104
105 //Getters
106 MHCamera& GetDisplay() { return fDisplay; }
107
108 Float_t GetChisquare() {return fTempChisquare;}
109 Int_t GetDegreesofFreedom() {return fTempDegreesofFreedom;}
110 UInt_t GetNumIntegratedEvents() {return fMaxNumIntegratedEvents;}
111 Float_t GetRingInterest() {return fRingInterest;}
112
113 ClassDef(MFindStars, 0) // Tool to find stars from DC Currents
114};
115
116#endif
Note: See TracBrowser for help on using the repository browser.