Skip to content
Snippets Groups Projects
Select Git revision
  • 8f916800fee5a7f358cdf9562b6b2ccbe238edb8
  • master default protected
  • L2SS-1914-fix_job_dispatch
  • TMSS-3170
  • TMSS-3167
  • TMSS-3161
  • TMSS-3158-Front-End-Only-Allow-Changing-Again
  • TMSS-3133
  • TMSS-3319-Fix-Templates
  • test-fix-deploy
  • TMSS-3134
  • TMSS-2872
  • defer-state
  • add-custom-monitoring-points
  • TMSS-3101-Front-End-Only
  • TMSS-984-choices
  • SDC-1400-Front-End-Only
  • TMSS-3079-PII
  • TMSS-2936
  • check-for-max-244-subbands
  • TMSS-2927---Front-End-Only-PXII
  • Before-Remove-TMSS
  • LOFAR-Release-4_4_318 protected
  • LOFAR-Release-4_4_317 protected
  • LOFAR-Release-4_4_316 protected
  • LOFAR-Release-4_4_315 protected
  • LOFAR-Release-4_4_314 protected
  • LOFAR-Release-4_4_313 protected
  • LOFAR-Release-4_4_312 protected
  • LOFAR-Release-4_4_311 protected
  • LOFAR-Release-4_4_310 protected
  • LOFAR-Release-4_4_309 protected
  • LOFAR-Release-4_4_308 protected
  • LOFAR-Release-4_4_307 protected
  • LOFAR-Release-4_4_306 protected
  • LOFAR-Release-4_4_304 protected
  • LOFAR-Release-4_4_303 protected
  • LOFAR-Release-4_4_302 protected
  • LOFAR-Release-4_4_301 protected
  • LOFAR-Release-4_4_300 protected
  • LOFAR-Release-4_4_299 protected
41 results

FindPythonModule.cmake

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    GaussianSource.h 2.22 KiB
    // GaussianSource.h: Gaussian source model component.
    //
    // Copyright (C) 2020 ASTRON (Netherlands Institute for Radio Astronomy)
    // SPDX-License-Identifier: GPL-3.0-or-later
    
    #ifndef DPPP_GAUSSIANSOURCE_H
    #define DPPP_GAUSSIANSOURCE_H
    
    #include <PointSource.h>
    
    namespace dp3 {
    namespace base {
    
    /// \brief Gaussian source model component.
    
    /// @{
    
    class GaussianSource : public dp3::base::PointSource {
    public:
      typedef std::shared_ptr<GaussianSource> Ptr;
      typedef std::shared_ptr<const GaussianSource> ConstPtr;
    
      GaussianSource(const Direction &direction);
      GaussianSource(const Direction &direction, const Stokes &stokes,
                     size_t beam_id = 0);
      GaussianSource(const Direction &direction, const Spectrum &spectrum,
                     double position_angle, bool is_position_angle_absolute,
                     double minor_axis, double major_axis, size_t beam_id = 0);
    
      /// Set position angle in radians. The position angle is the smallest angle
      /// between the major axis and North, measured positively North over East.
      void SetPositionAngle(double angle);
      double GetPositionAngle() const { return position_angle_; }
    
      /// Set whether the position angle (orientation) is absolute, see
      /// documentation of class member)
      void SetPositionAngleIsAbsolute(bool positionAngleIsAbsolute) {
        is_position_angle_absolute_ = positionAngleIsAbsolute;
      }
    
      /// Return whether the position angle (orientation) is absolute, see
      /// documentation of class member.
      bool GetPositionAngleIsAbsolute() const {
        return is_position_angle_absolute_;
      }
    
      /// Set the major axis length (FWHM in radians).
      void SetMajorAxis(double fwhm);
      double GetMajorAxis() const { return major_axis_; }
    
      /// Set the minor axis length (FWHM in radians).
      void SetMinorAxis(double fwhm);
      double GetMinorAxis() const { return minor_axis_; }
    
    private:
      double position_angle_;
      /// Whether the position angle (also refered to as orientation) is absolute
      /// (w.r.t. to the local declination axis) or with respect to the declination
      /// axis at the phase center (the default until 2022, it was fixed in 5.3.0)
      bool is_position_angle_absolute_;
      double major_axis_;
      double minor_axis_;
    };
    
    /// @}
    
    } // namespace base
    } // namespace dp3
    
    #endif