Horizon.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2008 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/Util/genutil/Horizon.h
10
11#ifndef __Horizon_H
12#define __Horizon_H
13
14#include "Directional.h"
15
17
18class Horizon : public Directional
19{
20public:
21
23 Horizon (double az=0, double el=0);
24
26 double get_azimuth () const;
27
29 double get_elevation () const;
30
32 double get_zenith () const;
33
35 std::string get_name () const;
36
38 std::vector< std::pair<double,Mount*> >
39 slew_times (const sky_coord& coords);
40
41 std::vector< std::pair<double,Mount*> >
42 slew_times (double az, double el);
43
44 void set_minimum_azimuth (double a) { minimum_azimuth = a; }
45 double get_minimum_azimuth () const { return minimum_azimuth; }
46
47 void set_maximum_azimuth (double a) { maximum_azimuth = a; }
48 double get_maximum_azimuth () const { return maximum_azimuth; }
49
50 void set_minimum_elevation (double a) { minimum_elevation = a; }
51 double get_minimum_elevation () const { return minimum_elevation; }
52
53 void set_maximum_elevation (double a) { maximum_elevation = a; }
54 double get_maximum_elevation () const { return maximum_elevation; }
55
56 void set_azimuth_velocity (double a) { azimuth_velocity = a; }
57 double get_azimuth_velocity () const { return azimuth_velocity; }
58
59 void set_elevation_velocity (double a) { elevation_velocity = a; }
60 double get_elevation_velocity () const { return elevation_velocity; }
61
62protected:
63
65 Matrix<3,3,double> get_basis (const Vector<3,double>& from_source) const;
66
68 mutable double azimuth;
69
71 mutable double elevation;
72
73 double minimum_azimuth;
74 double maximum_azimuth;
75
76 double minimum_elevation;
77 double maximum_elevation;
78
79 double azimuth_velocity;
80 double elevation_velocity;
81};
82
83#endif
Directional()
Default constructor.
Definition Directional.C:17
Horizon(double az=0, double el=0)
Default constructor.
Definition Horizon.C:12
double get_azimuth() const
Get the azimuth angle in radians.
Definition Horizon.C:27
double elevation
The telescope elevation in radians.
Definition Horizon.h:71
std::string get_name() const
Get the name of the mount.
Definition Horizon.C:48
double get_zenith() const
Get the zenith angle in radians.
Definition Horizon.C:41
double get_elevation() const
Get the elevation angle in radians.
Definition Horizon.C:34
double azimuth
The telescope azimuth in radians.
Definition Horizon.h:68
std::vector< std::pair< double, Mount * > > slew_times(const sky_coord &coords)
Return all possible slew times and resulting telescope states.
Definition Horizon.C:106
Matrix< 3, 3, double > get_basis(const Vector< 3, double > &from_source) const
Get the receptor basis in the reference frame of the observatory.
Definition Horizon.C:54
Class for sky coordinates.
Definition sky_coord.h:20

Generated using doxygen 1.14.0