source: trunk/MagicSoft/Mars/mtemp/MTelAxisFromStars.h@ 4748

Last change on this file since 4748 was 4744, checked in by wittek, 21 years ago
*** empty log message ***
File size: 2.8 KB
Line 
1#ifndef MARS_MTelAxisFromStars
2#define MARS_MTelAxisFromStars
3
4/////////////////////////////////////////////////////////////////////////////
5// //
6// MTelAxisFromStars //
7// //
8// Task to calculate the position (in the camera)
9// of certain sky directions (source position, tracking direction, ...)
10// from the positions (in the camera) of known stars
11// //
12/////////////////////////////////////////////////////////////////////////////
13
14#ifndef MARS_MTask
15#include "MTask.h"
16#endif
17
18#ifndef ROOT_TArrayD
19#include <TArrayD.h>
20#endif
21
22class MReportDrive;
23class MPointingPos;
24class MSrcPosCam;
25class MStarCam;
26class MSkyCamTrans;
27class MStarCamTrans;
28
29class MTelAxisFromStars : public MTask
30{
31 private:
32
33 const MStarCam *fStarCam; //!
34 const MStarCam *fSourceCam; //!
35
36 MReportDrive *fDrive; //!
37 MPointingPos *fPointPos; //!
38 MPointingPos *fSourcePos; //!
39 MSrcPosCam *fSrcPos; //!
40 MSrcPosCam *fPntPos; //!
41 MSkyCamTrans *fSkyCamTrans; //!
42 MStarCamTrans *fStarCamTrans; //!
43
44 Double_t fFixedScaleFactor; //!
45 Double_t fFixedRotationAngle; //! [degrees]
46 Double_t fAberr; //! optical aberration factor
47
48 Int_t fInputType; //! type of input
49
50 Int_t PreProcess(MParList *pList);
51 Int_t Process();
52 Int_t PostProcess();
53
54 public:
55
56 MTelAxisFromStars(const char *name=NULL, const char *title=NULL);
57 ~MTelAxisFromStars();
58
59 void FixScaleFactorAt(Double_t lambda = 1.0);
60 void FixRotationAngleAt(Double_t alfa = 0.0); // alfa in [degrees]
61
62 void SetOpticalAberr(Double_t aberr);
63 void SetInputType(Int_t type = 1);
64
65 Bool_t FindSkyCamTrans(TArrayD[2], TArrayD[2], TArrayD[2][2],
66 Double_t &, Double_t &, Double_t &,
67 Double_t &, Double_t[2][2] , Double_t[2], Double_t[2][2],
68 Int_t &, Int_t &, Double_t &, Double_t &);
69
70 void TransSkyCam(Double_t &, Double_t[2][2], Double_t[2], Double_t[2][2],
71 TArrayD[2], TArrayD[2], TArrayD[2][2]);
72
73 Bool_t SetPointingPosition(MStarCamTrans *fstarcamtrans,
74 MReportDrive *fdrive, MSkyCamTrans *ftrans, MPointingPos *fpointpos);
75 Bool_t SetSourcePosition(MStarCamTrans *fstarcamtrans,
76 MPointingPos *fpointpos, MPointingPos *fsourcepos, MSrcPosCam *fsrcpos);
77
78 ClassDef(MTelAxisFromStars, 0) // Task to calculate the source position from star positions
79};
80
81#endif
82
83
84
85
86
87
88
89
Note: See TracBrowser for help on using the repository browser.