My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
Source.h
Go to the documentation of this file.
1 #ifndef GCP_UTIL_SOURCE_H
2 #define GCP_UTIL_SOURCE_H
3 
11 #include "gcp/util/common/Axis.h"
12 #include "gcp/util/common/Angle.h"
13 #include "gcp/util/common/DecAngle.h"
14 #include "gcp/util/common/HourAngle.h"
15 #include "gcp/util/common/QuadraticInterpolatorNormal.h"
16 #include "gcp/util/common/QuadraticInterpolatorPositiveAngle.h"
17 #include "gcp/util/common/QuadraticInterpolatorSignedAngle.h"
18 
19 // Needed for SRC_LEN
20 
21 #include "gcp/control/code/unix/libunix_src/common/genericregs.h"
22 #include "gcp/control/code/unix/libsrc_src/source.h"
23 
24 namespace gcp {
25  namespace util {
26 
31  class Source {
32 
33  public:
34 
40  Source();
41 
45  ~Source();
46 
50  void reset();
51 
55  void setName(char* name);
56 
60  void setAxis(gcp::util::Axis::Type axisType, Angle az, Angle el,
61  Angle pa);
62 
66  char* getName();
67 
73  void extend(double mjd, HourAngle ra, DecAngle dec, double dist);
74 
78  Angle getAz();
79 
83  Angle getEl();
84 
88  HourAngle getRa(double tt);
89 
93  DecAngle getDec(double tt);
94 
98  double getDist(double tt);
99 
103  HourAngle getGradRa(double tt);
104 
108  DecAngle getGradDec(double tt);
109 
113  inline void setType(gcp::control::SourceType type) {
114  type_ = type;
115  }
116 
120  inline gcp::control::SourceType getType() {
121  return type_;
122  }
123 
127  bool isJ2000();
128 
132  bool isEphem();
133 
137  bool isRaDec();
138 
142  bool isAzEl();
143 
147  bool canBracket(double mjd);
148 
149  private:
150 
154  gcp::control::SourceType type_;
155 
159  char name_[SRC_LEN];
160 
164  QuadraticInterpolator* ra_;
165 
169  QuadraticInterpolator* dec_;
170 
174  public:
176 
177  private:
181  Angle az_;
182  Angle el_;
183  Angle pa_;
184 
185  }; // End class Source
186 
187  } // End namespace util
188 } // End namespace gcp
189 
190 
191 #endif // End #ifndef
bool isEphem()
Definition: Source.cc:224
char * getName()
Definition: Source.cc:107
Definition: QuadraticInterpolator.h:48
HourAngle getGradRa(double tt)
Definition: Source.cc:163
HourAngle getRa(double tt)
Definition: Source.cc:133
Source()
Definition: Source.cc:25
void setAxis(gcp::util::Axis::Type axisType, Angle az, Angle el, Angle pa)
Definition: Source.cc:185
Angle getEl()
Definition: Source.cc:124
Definition: Source.h:31
void extend(double mjd, HourAngle ra, DecAngle dec, double dist)
Definition: Source.cc:83
Definition: DecAngle.h:16
bool isJ2000()
Definition: Source.cc:216
QuadraticInterpolator * dist_
Definition: Source.h:175
~Source()
Definition: Source.cc:43
bool isAzEl()
Definition: Source.cc:200
Definition: HourAngle.h:17
DecAngle getDec(double tt)
Definition: Source.cc:144
bool isRaDec()
Definition: Source.cc:208
void setType(gcp::control::SourceType type)
Definition: Source.h:113
DecAngle getGradDec(double tt)
Definition: Source.cc:174
double getDist(double tt)
Definition: Source.cc:155
Definition: Angle.h:20
Angle getAz()
Definition: Source.cc:115
bool canBracket(double mjd)
Definition: Source.cc:233
void setName(char *name)
Definition: Source.cc:98
Type
Definition: Axis.h:24
gcp::control::SourceType getType()
Definition: Source.h:120
void reset()
Definition: Source.cc:64