DP3
PiercePoint.h
Go to the documentation of this file.
1 // Copyright (C) 2020 ASTRON (Netherlands Institute for Radio Astronomy)
2 // SPDX-License-Identifier: GPL-3.0-or-later
3 
4 #ifndef DP3_DDECAL_PIERCEPOINT_H_
5 #define DP3_DDECAL_PIERCEPOINT_H_
6 
7 #include <casacore/measures/Measures/MDirection.h>
8 #include <casacore/measures/Measures/MCDirection.h>
9 #include <casacore/measures/Measures/MCPosition.h>
10 #include <casacore/measures/Measures/MPosition.h>
11 #include <casacore/measures/Measures/MeasConvert.h>
12 #include <casacore/measures/Measures/MEpoch.h>
13 
14 #include <armadillo>
15 
16 #include <vector>
17 
18 namespace dp3 {
19 namespace ddecal {
20 
21 class PiercePoint {
23  static const double IONOheight;
24 
26  static const double EarthRadius;
27 
28  public:
29  PiercePoint(double height = PiercePoint::IONOheight);
30  PiercePoint(const casacore::MPosition &ant,
31  const casacore::MDirection &source, const double height);
32  PiercePoint(const casacore::MPosition &ant,
33  const casacore::MDirection &source);
34 
35  void init(const casacore::MPosition &ant, const casacore::MDirection &source,
36  const double height);
37 
38  void evaluate(casacore::MEpoch time);
39  arma::Col<double> getValue() const { return itsValue; }
40  casacore::MPosition getPos() const { return itsPosition; }
41  casacore::MDirection getDir() const { return itsDirection; }
42  double getHeight() const { return itsIonoHeight; }
43 
44  private:
46  casacore::MPosition itsPosition;
48  casacore::MDirection itsDirection;
50  double itsIonoHeight;
53  double itsC;
54  arma::Col<double> itsValue;
55 };
56 
57 } // namespace ddecal
58 } // namespace dp3
59 
60 #endif
Definition: PiercePoint.h:21
PiercePoint(double height=PiercePoint::IONOheight)
casacore::MDirection getDir() const
Definition: PiercePoint.h:41
arma::Col< double > getValue() const
Definition: PiercePoint.h:39
PiercePoint(const casacore::MPosition &ant, const casacore::MDirection &source)
void init(const casacore::MPosition &ant, const casacore::MDirection &source, const double height)
void evaluate(casacore::MEpoch time)
PiercePoint(const casacore::MPosition &ant, const casacore::MDirection &source, const double height)
double getHeight() const
Definition: PiercePoint.h:42
casacore::MPosition getPos() const
Definition: PiercePoint.h:40
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53