Jpp 19.3.0
the software that should make you happy
Loading...
Searching...
No Matches
JASTRONOMY::JMorphology Struct Referenceabstract

Inteface for source morphology simulation. More...

#include <JMorphology.hh>

Inheritance diagram for JASTRONOMY::JMorphology:
JASTRONOMY::JSourceLocation JASTRONOMY::angle_type_rad JASTRONOMY::angle_type JLANG::JEquals< JFirst_t, JSecond_t > JASTRONOMY::JMorphologyBinary JASTRONOMY::JMorphologyGauss JASTRONOMY::JMorphologyGauss2D JASTRONOMY::JMorphologyHistogram JASTRONOMY::JMorphologyPoint

Public Member Functions

virtual ~JMorphology ()
 Virtual destructor.
 
const JSourceLocationgetSourceLocation () const
 Get source location.
 
virtual std::istream & read (std::istream &in)=0
 Read source morphology from input stream.
 
virtual std::ostream & write (std::ostream &out) const =0
 Write source morphology to output stream.
 
virtual JSourceLocation get () const =0
 Get location on sky.
 
 operator JAngle3D () const
 Type conversion operator.
 
double getDeclination () const
 Get declination.
 
double getRightAscension () const
 Get right ascension.
 
double getDot (const JSourceLocation &location) const
 Dot product.
 
void set (const angle_type_deg &angle)
 Convert angle.
 
bool equals (const angle_type &angle, const double precision=std::numeric_limits< double >::min()) const
 Check equality.
 

Static Public Member Functions

static std::istream & read (std::istream &in, JSourceLocation &source)
 Read source location in degrees from input stream.
 
static std::ostream & write (std::ostream &out, const JSourceLocation &source)
 Write source location in degrees to output stream.
 

Protected Attributes

double _theta_
 
double _phi_
 

Detailed Description

Inteface for source morphology simulation.

Note that all input angles are in degrees.

Definition at line 43 of file JMorphology.hh.

Constructor & Destructor Documentation

◆ ~JMorphology()

virtual JASTRONOMY::JMorphology::~JMorphology ( )
inlinevirtual

Virtual destructor.

Definition at line 49 of file JMorphology.hh.

50 {}

Member Function Documentation

◆ getSourceLocation()

const JSourceLocation & JASTRONOMY::JMorphology::getSourceLocation ( ) const
inline

Get source location.

Returns
source location

Definition at line 58 of file JMorphology.hh.

59 {
60 return static_cast<const JSourceLocation&>(*this);
61 }
JSourceLocation()
Default constructor.

◆ read() [1/2]

static std::istream & JASTRONOMY::JMorphology::read ( std::istream & in,
JSourceLocation & source )
inlinestatic

Read source location in degrees from input stream.

Parameters
ininput stream
sourcesource
Returns
input stream

Definition at line 71 of file JMorphology.hh.

72 {
73 angle_type_deg angle;
74
75 in >> angle;
76
77 source.set(angle);
78
79 return in;
80 }

◆ write() [1/2]

static std::ostream & JASTRONOMY::JMorphology::write ( std::ostream & out,
const JSourceLocation & source )
inlinestatic

Write source location in degrees to output stream.

Parameters
outoutput stream
sourcesource
Returns
output stream

Definition at line 90 of file JMorphology.hh.

91 {
92 return out << angle_type_deg(source);
93 }

◆ read() [2/2]

virtual std::istream & JASTRONOMY::JMorphology::read ( std::istream & in)
pure virtual

Read source morphology from input stream.

Parameters
ininput stream
Returns
input stream

Implemented in JASTRONOMY::JMorphologyBinary, JASTRONOMY::JMorphologyGauss2D, JASTRONOMY::JMorphologyGauss, JASTRONOMY::JMorphologyHistogram, and JASTRONOMY::JMorphologyPoint.

◆ write() [2/2]

virtual std::ostream & JASTRONOMY::JMorphology::write ( std::ostream & out) const
pure virtual

Write source morphology to output stream.

Parameters
outoutput stream
Returns
output stream

Implemented in JASTRONOMY::JMorphologyBinary, JASTRONOMY::JMorphologyGauss2D, JASTRONOMY::JMorphologyGauss, JASTRONOMY::JMorphologyHistogram, and JASTRONOMY::JMorphologyPoint.

◆ get()

virtual JSourceLocation JASTRONOMY::JMorphology::get ( ) const
pure virtual

◆ operator JAngle3D()

JASTRONOMY::JSourceLocation::operator JAngle3D ( ) const
inlineinherited

Type conversion operator.

Returns
polar angles [rad]

Definition at line 496 of file JAstronomy.hh.

497 {
498 return JAngle3D(PI/2 - _theta_, _phi_);
499 }

◆ getDeclination()

double JASTRONOMY::JSourceLocation::getDeclination ( ) const
inlineinherited

Get declination.

Definition at line 502 of file JAstronomy.hh.

◆ getRightAscension()

double JASTRONOMY::JSourceLocation::getRightAscension ( ) const
inlineinherited

Get right ascension.

Definition at line 503 of file JAstronomy.hh.

◆ getDot()

double JASTRONOMY::JSourceLocation::getDot ( const JSourceLocation & location) const
inlineinherited

Dot product.

Parameters
locationsource location
Returns
dot product

Definition at line 512 of file JAstronomy.hh.

513 {
514 return
515 cos(this->_theta_) * cos(location._theta_) * cos(this->_phi_ - location._phi_) +
516 sin(this->_theta_) * sin(location._theta_);
517 }

◆ set()

void JASTRONOMY::angle_type_rad::set ( const angle_type_deg & angle)
inlineinherited

Convert angle.

Parameters
angleangle [rad]

Definition at line 293 of file JAstronomy.hh.

294 {
295 static_cast<angle_type_rad&>(*this) = angle_type_rad(angle);
296 }
angle_type_rad()
Default constructor.

◆ equals()

bool JASTRONOMY::angle_type::equals ( const angle_type & angle,
const double precision = std::numeric_limits<double>::min() ) const
inlineinherited

Check equality.

Parameters
anglepair of angles
precisionprecision
Returns
true if angles are equal; else false

Definition at line 194 of file JAstronomy.hh.

196 {
197 return (fabs(this->_theta_ - angle._theta_) <= precision &&
198 fabs(this->_phi_ - angle._phi_) <= precision);
199 }

Member Data Documentation

◆ _theta_

double JASTRONOMY::angle_type::_theta_
protectedinherited

Definition at line 250 of file JAstronomy.hh.

◆ _phi_

double JASTRONOMY::angle_type::_phi_
protectedinherited

Definition at line 251 of file JAstronomy.hh.


The documentation for this struct was generated from the following file: