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

Last change on this file since 5074 was 4750, checked in by wittek, 20 years ago
*** empty log message ***
File size: 2.7 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
53 public:
54
55 MTelAxisFromStars(const char *name=NULL, const char *title=NULL);
56 ~MTelAxisFromStars();
57
58 void FixScaleFactorAt(Double_t lambda = 1.0);
59 void FixRotationAngleAt(Double_t alfa = 0.0); // alfa in [degrees]
60
61 void SetOpticalAberr(Double_t aberr);
62 void SetInputType(Int_t type = 1);
63
64 Bool_t FindSkyCamTrans(TArrayD[2], TArrayD[2], TArrayD[2][2],
65 Double_t &, Double_t &, Double_t &,
66 Double_t &, Double_t[2][2] , Double_t[2], Double_t[2][2],
67 Int_t &, Int_t &, Double_t &, Double_t &);
68
69 void TransSkyCam(Double_t &, Double_t[2][2], Double_t[2], Double_t[2][2],
70 TArrayD[2], TArrayD[2], TArrayD[2][2]);
71
72 Bool_t SetPointingPosition(MStarCamTrans *fstarcamtrans,
73 MReportDrive *fdrive, MSkyCamTrans *ftrans, MPointingPos *fpointpos);
74 Bool_t SetSourcePosition(MStarCamTrans *fstarcamtrans,
75 MPointingPos *fpointpos, MPointingPos *fsourcepos, MSrcPosCam *fsrcpos);
76
77 ClassDef(MTelAxisFromStars, 0) // Task to calculate the source position from star positions
78};
79
80#endif
81
82
83
84
85
86
87
88
Note: See TracBrowser for help on using the repository browser.