DP3
GaussianSource.h
Go to the documentation of this file.
1 // GaussianSource.h: Gaussian source model component.
2 //
3 // Copyright (C) 2020 ASTRON (Netherlands Institute for Radio Astronomy)
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 
6 #ifndef DPPP_GAUSSIANSOURCE_H
7 #define DPPP_GAUSSIANSOURCE_H
8 
9 #include "PointSource.h"
10 
11 namespace dp3 {
12 namespace base {
13 
15 
17 
18 class GaussianSource : public PointSource {
19  public:
20  typedef std::shared_ptr<GaussianSource> Ptr;
21  typedef std::shared_ptr<const GaussianSource> ConstPtr;
22 
25 
28  void setPositionAngle(double angle);
29  double getPositionAngle() const { return itsPositionAngle; }
30 
33  void setPositionAngleIsAbsolute(bool positionAngleIsAbsolute) {
34  itsPositionAngleIsAbsolute = positionAngleIsAbsolute;
35  }
36 
39  bool getPositionAngleIsAbsolute() const { return itsPositionAngleIsAbsolute; }
40 
42  void setMajorAxis(double fwhm);
43  double getMajorAxis() const { return itsMajorAxis; }
44 
46  void setMinorAxis(double fwhm);
47  double getMinorAxis() const { return itsMinorAxis; }
48 
49  void accept(ModelComponentVisitor &visitor) const override;
50 
51  private:
52  double itsPositionAngle;
56  bool itsPositionAngleIsAbsolute;
57  double itsMajorAxis;
58  double itsMinorAxis;
59 };
60 
62 
63 } // namespace base
64 } // namespace dp3
65 
66 #endif
Gaussian source model component.
Definition: GaussianSource.h:18
GaussianSource(const Direction &direction)
std::shared_ptr< GaussianSource > Ptr
Definition: GaussianSource.h:20
double getMajorAxis() const
Definition: GaussianSource.h:43
bool getPositionAngleIsAbsolute() const
Definition: GaussianSource.h:39
void setMajorAxis(double fwhm)
Set the major axis length (FWHM in radians).
void setPositionAngleIsAbsolute(bool positionAngleIsAbsolute)
Definition: GaussianSource.h:33
GaussianSource(const Direction &direction, const Stokes &stokes)
double getPositionAngle() const
Definition: GaussianSource.h:29
double getMinorAxis() const
Definition: GaussianSource.h:47
void setMinorAxis(double fwhm)
Set the minor axis length (FWHM in radians).
std::shared_ptr< const GaussianSource > ConstPtr
Definition: GaussianSource.h:21
void setPositionAngle(double angle)
void accept(ModelComponentVisitor &visitor) const override
Base class for visitors that visit model component hierarchies.
Definition: ModelComponentVisitor.h:20
Point source model component with optional spectral index and rotation measure.
Definition: PointSource.h:26
Stokes stokes() const
const Direction & direction() const override
Definition: PointSource.h:34
Complex Stokes vector.
Definition: Stokes.h:16
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53
A direction on the celestial sphere.
Definition: Direction.h:15