1 | #ifndef COSY_SlaStars
|
---|
2 | #define COSY_SlaStars
|
---|
3 |
|
---|
4 | #ifndef COSY_Slalib
|
---|
5 | #include "Slalib.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | #ifndef MARS_MPointing
|
---|
9 | #include "MPointing.h"
|
---|
10 | #endif
|
---|
11 |
|
---|
12 | class SlaStars : public Slalib
|
---|
13 | {
|
---|
14 | private:
|
---|
15 | AltAz fAltAz; // [rad]
|
---|
16 | RaDec fRaDec; // [rad]
|
---|
17 |
|
---|
18 | Double_t fHourAngle; // [h]
|
---|
19 |
|
---|
20 | protected:
|
---|
21 | double fAmprms[21];
|
---|
22 | double fAoprms[14];
|
---|
23 |
|
---|
24 | double fTt; // [mjd] timescale TT
|
---|
25 |
|
---|
26 | public:
|
---|
27 | SlaStars(MObservatory::LocationName_t key);
|
---|
28 | virtual ~SlaStars() { }
|
---|
29 |
|
---|
30 | // const AltAz GetAltAz() const { return fAltAz*360/D2PI; }
|
---|
31 | const ZdAz GetZdAz() const { return ZdAz(TMath::Pi()/2-fAltAz.Alt(), fAltAz.Az())/TMath::DegToRad(); }
|
---|
32 | const ZdAz GetZdAzRad() const { return ZdAz(TMath::Pi()/2-fAltAz.Alt(), fAltAz.Az()); }
|
---|
33 | const RaDec GetRaDec() const { return fRaDec/TMath::DegToRad(); }
|
---|
34 | const RaDec GetRaDecRad() const { return fRaDec; }
|
---|
35 | const double GetHourAngle() const { return fHourAngle; }
|
---|
36 |
|
---|
37 | const double GetTT() const { return fTt; }
|
---|
38 |
|
---|
39 | virtual void SetMjd(double mjd);
|
---|
40 |
|
---|
41 | void Set(const AltAz &altaz);
|
---|
42 | void Set(const ZdAz &zdaz);
|
---|
43 | void Set(const RaDec &radec);
|
---|
44 |
|
---|
45 | ZdAz GetApproxVel(const RaDec &radec) const; // [rad/rad];
|
---|
46 |
|
---|
47 | RaDec CalcRaDec(const AltAz &altaz) const;
|
---|
48 | RaDec CalcRaDec(const ZdAz &altaz) const;
|
---|
49 |
|
---|
50 | RaDec CalcRaDecFast(const AltAz &altaz) const;
|
---|
51 | RaDec CalcRaDecFast(const ZdAz &altaz) const;
|
---|
52 |
|
---|
53 | AltAz CalcAltAz(const RaDec &radec, double *ha=0) const;
|
---|
54 | ZdAz CalcZdAz (const RaDec &radec, double *ha=0) const;
|
---|
55 |
|
---|
56 | AltAz CalcAltAz(const RaDec &radec, double mjd, double *ha=0)
|
---|
57 | { SetMjd(mjd); return CalcAltAz(radec, ha); }
|
---|
58 | ZdAz CalcZdAz (const RaDec &radec, double mjd, double *ha=0)
|
---|
59 | { SetMjd(mjd); return CalcZdAz(radec, ha); }
|
---|
60 |
|
---|
61 | AltAz CalcAltAzFast(const RaDec &radec) const;
|
---|
62 | ZdAz CalcZdAzFast (const RaDec &radec) const;
|
---|
63 |
|
---|
64 | ClassDef(SlaStars, 0)
|
---|
65 | };
|
---|
66 |
|
---|
67 | #endif
|
---|