Jpp 21.0.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JASTRONOMY::JMorphology Struct Referenceabstract

Interface for source morphology simulation. More...

#include <JMorphology.hh>

Inheritance diagram for JASTRONOMY::JMorphology:
JLANG::JClonable< JClonable_t, JDerived_t > JLANG::JTitle JASTRONOMY::JSourceLocation JASTRONOMY::angle_type_rad JASTRONOMY::angle_type JLANG::JEquals< JFirst_t, JSecond_t >

Public Types

typedef JClonable< JClonable_t >::clone_type clone_type
 

Public Member Functions

virtual ~JMorphology ()
 Virtual destructor.
 
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.
 
virtual clone_type clone () const override
 Get clone of this object.
 
const std::string & getTitle () const
 Get title.
 
void setTitle (const std::string &title)
 Set title.
 
const JSourceLocation & getSourceLocation () const
 Get source location.
 
 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

std::string title
 
double _theta_
 
double _phi_
 

Detailed Description

Interface for source morphology simulation.

Note that all input angles are in degrees.

Definition at line 47 of file JMorphology.hh.

Member Typedef Documentation

◆ clone_type

template<class JClonable_t , class JDerived_t >
JClonable<JClonable_t>::clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone_type
inherited

Definition at line 61 of file JClonable.hh.

Constructor & Destructor Documentation

◆ ~JMorphology()

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

Virtual destructor.

Definition at line 55 of file JMorphology.hh.

56 {}

Member Function Documentation

◆ 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 66 of file JMorphology.hh.

67 {
68 angle_type_deg angle;
69
70 in >> angle;
71
72 source.set(angle);
73
74 return in;
75 }

◆ 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 85 of file JMorphology.hh.

86 {
87 return out << angle_type_deg(source);
88 }

◆ 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

◆ 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

◆ get()

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

Get location on sky.

Returns
location on sky

◆ clone()

template<class JClonable_t , class JDerived_t >
virtual clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone ( ) const
inlineoverridevirtualinherited

◆ getTitle()

const std::string & JLANG::JTitle::getTitle ( ) const
inlineinherited

Get title.

Returns
title

Definition at line 55 of file JTitle.hh.

56 {
57 return this->title;
58 }
std::string title
Definition JTitle.hh:73

◆ setTitle()

void JLANG::JTitle::setTitle ( const std::string & title)
inlineinherited

Set title.

Parameters
titletitle

Definition at line 66 of file JTitle.hh.

67 {
68 this->title = title;
69 }

◆ getSourceLocation()

const JSourceLocation & JASTRONOMY::JSourceLocation::getSourceLocation ( ) const
inlineinherited

Get source location.

Returns
source location

Definition at line 485 of file JAstronomy.hh.

486 {
487 return static_cast<const JSourceLocation&>(*this);
488 }
JSourceLocation()
Default constructor.

◆ 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

◆ title

std::string JLANG::JTitle::title
protectedinherited

Definition at line 73 of file JTitle.hh.

◆ _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: