source: trunk/MagicSoft/Mars/mpointing/MPointingDevCalc.h@ 7970

Last change on this file since 7970 was 7744, checked in by tbretz, 19 years ago
*** empty log message ***
File size: 2.6 KB
Line 
1#ifndef MARS_MPointingPositionCalc
2#define MARS_MPointingPositionCalc
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8#ifndef ROOT_TArrayI
9#include <TArrayI.h>
10#endif
11
12class MPointingDev;
13class MReportStarguider;
14
15class MPointingDevCalc : public MTask
16{
17private:
18 MReportStarguider *fReport; //! MReportStarguider to get mispointing
19 MPointingDev *fDeviation; //! Output container to store pointing deviation
20
21 UShort_t fRunType; //! Run Type to decide where to get pointing position from
22
23 Double_t fNsbSum; //! Sum of Nsb from Starguider
24 Double_t fNsbSq; //! Sum of Sq of Nsb from Starguider
25 Int_t fNsbCount; //! Counter of Nsb entries from Starguider
26
27 TArrayI fSkip; //! Counter for execution statistics
28 Double_t fLastMjd; //! Time of last processed report
29
30 UInt_t fNumMinStars; // Minimum number of identified stars
31 Float_t fNsbLevel; // Minimum deviation from mean in sigma
32 Float_t fNsbMin; // Minimum NSB to calc mean and rms
33 Float_t fNsbMax; // Maximum NSB to calc mean and rms
34 Float_t fMaxAbsDev; // [arcmin] Maximum considered absolute deviation
35 Float_t fMaxAge; // [min] Maximum age of reports to be used without an update
36
37 Float_t fDx; // Starguider calibration dx
38 Float_t fDy; // Starguider calibration dy
39
40 // MPointingDevCalc
41 Int_t ProcessStarguiderReport();
42 void Skip(Int_t i);
43
44 // MParContainer
45 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
46
47 // MTask
48 Bool_t ReInit(MParList *plist);
49 Int_t PreProcess(MParList *plist);
50 Int_t Process();
51 Int_t PostProcess();
52
53public:
54 MPointingDevCalc() : fReport(0), fDeviation(0), fSkip(6), fNumMinStars(8),
55 fNsbLevel(3), fNsbMin(30), fNsbMax(60), fMaxAbsDev(15), fMaxAge(1), fDx(-7), fDy(16)
56 {
57 fName = "MPointingDevCalc";
58 fTitle = "Task calculating the pointing deviation";
59
60 AddToBranchList("MReportStarguider.*");
61 }
62
63 void SetNumMinStars(UInt_t n) { fNumMinStars=8; }
64 void SetNsbLevel(Float_t lvl) { fNsbLevel=lvl; }
65 void SetNsbMin(Float_t nsb) { fNsbMin=nsb; }
66 void SetNsbMax(Float_t nsb) { fNsbMax=nsb; }
67 void SetMaxAbsDev(Float_t max) { fMaxAbsDev=max; }
68 void SetDx(Float_t dx) { fDx=dx; }
69 void SetDy(Float_t dy) { fDy=dy; }
70 void SetMaxAge(Float_t age) { fMaxAge=age; }
71
72 ClassDef(MPointingDevCalc, 0) //Task calculating the pointing deviation
73};
74
75#endif
Note: See TracBrowser for help on using the repository browser.