source: trunk/Cosy/main/MTracking.h@ 9996

Last change on this file since 9996 was 9559, checked in by tbretz, 15 years ago
*** empty log message ***
File size: 1.3 KB
Line 
1#ifndef COSY_MTracking
2#define COSY_MTracking
3
4#ifndef COSY_MSlewing
5#include "MSlewing.h"
6#endif
7
8#ifndef COSY_SlaPlanets
9#include "SlaPlanets.h"
10#endif
11
12#ifndef MARS_MThread
13#include "MThread.h"
14#endif
15
16class MLog;
17class RaDec;
18class SlaStars;
19
20class MTracking : public MSlewing, public MThread
21{
22private:
23 SlaPlanets fSlalib;
24
25 ZdAz fTrackAcc;
26
27 Int_t fTrackType;
28 RaDec fTrackPos;
29
30 Double_t fWobbleOffset; // [rad]
31 Double_t fWobbleAngle; // [rad]
32
33 MLog *fOut;
34
35 Bool_t UpdateSlalib(SlaPlanets &sla);
36 Bool_t UpdateSlalib(Double_t dt=0);
37 Bool_t UpdateSlalib(SlaPlanets &sla, Double_t mjd);
38
39 bool SetVelocity(const ZdAz &v);
40 bool LimitSpeed(const ZdAz &vt) const;
41 bool InitTracking();
42 bool Move();
43 void Track();
44
45 Int_t Thread();
46
47 ZdAz GetZdAzRad(const Slalib &sla);
48
49public:
50 MTracking(MCosy *cosy);
51
52 void TrackPosition(const RaDec &dst); // ra, dec [rad]
53 void TrackPlanet(ePlanets_t planet); // ra, dec [rad]
54 void TrackMoon(Double_t wobble, Double_t offset);
55 void SetTrackAcc(Float_t zd, Float_t az) { fTrackAcc.Zd(zd); fTrackAcc.Az(az); }
56
57 void SetWobble(Double_t offset, Double_t angle=0) { fWobbleOffset=TMath::DegToRad()*offset; fWobbleAngle=TMath::DegToRad()*angle; }
58
59 void SetOut(MLog *fout) { fOut = fout; }
60
61 ClassDef(MTracking, 0)
62};
63
64#endif
Note: See TracBrowser for help on using the repository browser.