GammaLib  2.1.0.dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GModelSpatialEllipticalGeneralGauss Class Reference

#include <GModelSpatialEllipticalGeneralGauss.hpp>

Inheritance diagram for GModelSpatialEllipticalGeneralGauss:
GModelSpatialElliptical GModelSpatial GBase

Public Member Functions

 GModelSpatialEllipticalGeneralGauss (void)
 Void constructor. More...
 
 GModelSpatialEllipticalGeneralGauss (const GSkyDir &dir, const double &major, const double &minor, const double &posangle, const double &ridx, const std::string &coordsys="CEL")
 Elliptical Gaussian constructor. More...
 
 GModelSpatialEllipticalGeneralGauss (const GXmlElement &xml)
 XML constructor. More...
 
 GModelSpatialEllipticalGeneralGauss (const GModelSpatialEllipticalGeneralGauss &model)
 Copy constructor. More...
 
virtual ~GModelSpatialEllipticalGeneralGauss (void)
 Destructor. More...
 
virtual
GModelSpatialEllipticalGeneralGauss
operator= (const GModelSpatialEllipticalGeneralGauss &model)
 Assignment operator. More...
 
virtual void clear (void)
 Clear generalised elliptical Gaussian model. More...
 
virtual
GModelSpatialEllipticalGeneralGauss
clone (void) const
 Clone generalised elliptical Gaussian model. More...
 
virtual std::string classname (void) const
 Return class name. More...
 
virtual double eval (const double &theta, const double &posangle, const GEnergy &energy, const GTime &time, const bool &gradients=false) const
 Evaluate function (in units of sr^-1) More...
 
virtual GSkyDir mc (const GEnergy &energy, const GTime &time, GRan &ran) const
 Returns MC sky direction. More...
 
virtual bool contains (const GSkyDir &dir, const double &margin=0.0) const
 Checks whether model contains specified sky direction. More...
 
virtual double theta_max (void) const
 Return maximum model radius (in radians) More...
 
virtual void read (const GXmlElement &xml)
 Read model from XML element. More...
 
virtual void write (GXmlElement &xml) const
 Write model into XML element. More...
 
virtual std::string print (const GChatter &chatter=NORMAL) const
 Print information. More...
 
double ridx (void) const
 Return reciprocal of the elliptical profile index. More...
 
void ridx (const double &ridx)
 Set reciprocal of the elliptical profile index. More...
 
- Public Member Functions inherited from GModelSpatialElliptical
 GModelSpatialElliptical (void)
 Void constructor. More...
 
 GModelSpatialElliptical (const GModelSpatialElliptical &model)
 Copy constructor. More...
 
 GModelSpatialElliptical (const GXmlElement &xml)
 XML constructor. More...
 
virtual ~GModelSpatialElliptical (void)
 Destructor. More...
 
virtual GModelSpatialEllipticaloperator= (const GModelSpatialElliptical &model)
 Assignment operator. More...
 
virtual GClassCode code (void) const
 Return class code. More...
 
virtual double eval (const GPhoton &photon, const bool &gradients=false) const
 Return model value. More...
 
virtual double mc_norm (const GSkyDir &dir, const double &radius) const
 Return normalization of elliptical source for Monte Carlo simulations. More...
 
std::string coordsys (void) const
 Return coordinate system. More...
 
const GSkyDirdir (void) const
 Return position of elliptical spatial model. More...
 
void dir (const GSkyDir &dir)
 Set position of radial spatial model. More...
 
double posangle (void) const
 Return Position Angle of model. More...
 
void posangle (const double &posangle)
 Set Position Angle of model. More...
 
double semiminor (void) const
 Return semi-minor axis of ellipse. More...
 
double semimajor (void) const
 Return semi-major axis of ellipse. More...
 
void semiminor (const double &semiminor)
 Set semi-minor axis of ellipse. More...
 
void semimajor (const double &semimajor)
 Set semi-major axis of ellipse. More...
 
- Public Member Functions inherited from GModelSpatial
 GModelSpatial (void)
 Void constructor. More...
 
 GModelSpatial (const GModelSpatial &model)
 Copy constructor. More...
 
virtual ~GModelSpatial (void)
 Destructor. More...
 
virtual GModelSpatialoperator= (const GModelSpatial &model)
 Assignment operator. More...
 
virtual GModelParoperator[] (const int &index)
 Returns model parameter. More...
 
virtual const GModelParoperator[] (const int &index) const
 Returns model parameter (const version) More...
 
virtual GModelParoperator[] (const std::string &name)
 Returns model parameter. More...
 
virtual const GModelParoperator[] (const std::string &name) const
 Returns model parameter (const version) More...
 
virtual double flux (const GSkyRegion &region, const GEnergy &srcEng=GEnergy(), const GTime &srcTime=GTime()) const
 Returns model flux within sky region. More...
 
std::string type (void) const
 Return model type. More...
 
void type (const std::string &type)
 Set model type. More...
 
GModelParat (const int &index)
 Returns model parameter. More...
 
const GModelParat (const int &index) const
 Returns model parameter (const version) More...
 
bool has_par (const std::string &name) const
 Checks if parameter name exists. More...
 
bool has_free_pars (void) const
 Checks if the spatial model has free parameters. More...
 
int size (void) const
 Return number of parameters. More...
 
void autoscale (void)
 Autoscale parameters. More...
 
const GSkyRegionregion (void) const
 Return boundary sky region. More...
 
- Public Member Functions inherited from GBase
virtual ~GBase (void)
 Destructor. More...
 

Protected Member Functions

void init_members (void)
 Initialise class members. More...
 
void copy_members (const GModelSpatialEllipticalGeneralGauss &model)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
void update (void) const
 Update precomputation cache. More...
 
virtual void set_region (void) const
 Set boundary sky region. More...
 
- Protected Member Functions inherited from GModelSpatialElliptical
void init_members (void)
 Initialise class members. More...
 
void copy_members (const GModelSpatialElliptical &model)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
bool is_celestial (void) const
 Check if model holds celestial coordinates. More...
 
- Protected Member Functions inherited from GModelSpatial
void init_members (void)
 Initialise class members. More...
 
void copy_members (const GModelSpatial &model)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 

Protected Attributes

GModelPar m_ridx
 Reciprocal of exponent of the radial profile. More...
 
double m_last_minor
 Last semi-minor axis. More...
 
double m_last_major
 Last semi-major axis. More...
 
double m_last_posangle
 Last position angle. More...
 
double m_cospos2
 squared cosine of position angle More...
 
double m_sinpos2
 squared sine of position angle More...
 
double m_sin2pos
 sine of twice the position angle More...
 
double m_minor2
 square of minor axis More...
 
double m_major2
 square of major axis More...
 
double m_minor_rad
 Minor axis in radians. More...
 
double m_major_rad
 Major axis in radians. More...
 
double m_norm
 Normalization. More...
 
double m_term1
 Help term 1. More...
 
double m_term2
 Help term 2. More...
 
double m_term3
 Help term 3. More...
 
double m_last_ridx
 Last reciprocal radial index. More...
 
double m_inv_ridx
 Spatial profile index. More...
 
- Protected Attributes inherited from GModelSpatialElliptical
GModelPar m_lon
 Right Ascension or Galactic longitude (deg) More...
 
GModelPar m_lat
 Declination or Galactic latitude (deg) More...
 
GModelPar m_posangle
 Position angle from North, counterclockwise (deg) More...
 
GModelPar m_semiminor
 Semi-minor axis of ellipse (deg) More...
 
GModelPar m_semimajor
 Semi-major axis of ellipse (deg) More...
 
GSkyDir m_dir
 Sky direction representing parameters. More...
 
double m_last_lon
 Last longitude. More...
 
double m_last_lat
 Last latitude. More...
 
- Protected Attributes inherited from GModelSpatial
std::string m_type
 Spatial model type. More...
 
GSkyRegionCircle m_region
 Bounding circle. More...
 
std::vector< GModelPar * > m_pars
 Parameter pointers. More...
 

Detailed Description

Definition at line 55 of file GModelSpatialEllipticalGeneralGauss.hpp.

Constructor & Destructor Documentation

GModelSpatialEllipticalGeneralGauss::GModelSpatialEllipticalGeneralGauss ( void  )

Void constructor.

Definition at line 74 of file GModelSpatialEllipticalGeneralGauss.cpp.

References init_members().

Referenced by clone().

GModelSpatialEllipticalGeneralGauss::GModelSpatialEllipticalGeneralGauss ( const GSkyDir dir,
const double &  semimajor,
const double &  semiminor,
const double &  posangle,
const double &  ridx,
const std::string &  coordsys = "CEL" 
)

Elliptical Gaussian constructor.

Parameters
[in]dirCentre of elliptical Gaussian.
[in]semimajorSemi-major axis (deg).
[in]semiminorSemi-minor axis (deg).
[in]posanglePosition angle of semi-major axis (deg).
[in]ridxReciprocal of radial profile index.
[in]coordsysCoordinate system (either "CEL" or "GAL")
Exceptions
GException::invalid_argumentInvalid coordsys argument specified.

Construct elliptical Gaussian model from the ellipse centre direction (dir), the semimajor and semiminor axes, the position angle (posangle), and the reciprocal of the radial profile index (ridx). The coordsys parameter specifies whether the sky direction should be interpreted in the celestial or Galactic coordinate system.

Definition at line 104 of file GModelSpatialEllipticalGeneralGauss.cpp.

References GModelSpatialElliptical::dir(), G_CONSTRUCTOR, init_members(), GModelSpatialElliptical::m_lat, GModelSpatialElliptical::m_lon, GOptimizerPar::name(), GModelSpatialElliptical::posangle(), ridx(), GModelSpatialElliptical::semimajor(), and GModelSpatialElliptical::semiminor().

GModelSpatialEllipticalGeneralGauss::GModelSpatialEllipticalGeneralGauss ( const GXmlElement xml)
explicit

XML constructor.

Parameters
[in]xmlXML element.

Constructs generalised elliptical Gaussian model by extracting information from an XML element. See the read() method for more information about the expected structure of the XML element.

Definition at line 154 of file GModelSpatialEllipticalGeneralGauss.cpp.

References init_members(), and read().

GModelSpatialEllipticalGeneralGauss::GModelSpatialEllipticalGeneralGauss ( const GModelSpatialEllipticalGeneralGauss model)

Copy constructor.

Parameters
[in]modelGeneralised elliptical Gaussian model.

Definition at line 173 of file GModelSpatialEllipticalGeneralGauss.cpp.

References copy_members(), and init_members().

GModelSpatialEllipticalGeneralGauss::~GModelSpatialEllipticalGeneralGauss ( void  )
virtual

Destructor.

Definition at line 190 of file GModelSpatialEllipticalGeneralGauss.cpp.

References free_members().

Member Function Documentation

std::string GModelSpatialEllipticalGeneralGauss::classname ( void  ) const
inlinevirtual

Return class name.

Returns
String containing the class name ("GModelSpatialEllipticalGeneralGauss").

Implements GModelSpatialElliptical.

Definition at line 135 of file GModelSpatialEllipticalGeneralGauss.hpp.

void GModelSpatialEllipticalGeneralGauss::clear ( void  )
virtual
GModelSpatialEllipticalGeneralGauss * GModelSpatialEllipticalGeneralGauss::clone ( void  ) const
virtual

Clone generalised elliptical Gaussian model.

Returns
Pointer to deep copy of generalised elliptical Gaussian model.

Implements GModelSpatialElliptical.

Definition at line 267 of file GModelSpatialEllipticalGeneralGauss.cpp.

References GModelSpatialEllipticalGeneralGauss().

bool GModelSpatialEllipticalGeneralGauss::contains ( const GSkyDir dir,
const double &  margin = 0.0 
) const
virtual

Checks whether model contains specified sky direction.

Parameters
[in]dirSky direction.
[in]marginMargin to be added to sky direction (deg).
Returns
True if the model contains the sky direction.

Signals whether a sky direction is contained in the elliptical gauss model.

Todo:
Implement correct evaluation of effective ellipse radius.

Implements GModelSpatialElliptical.

Definition at line 465 of file GModelSpatialEllipticalGeneralGauss.cpp.

References gammalib::deg2rad, GModelSpatialElliptical::dir(), GSkyDir::dist(), and theta_max().

void GModelSpatialEllipticalGeneralGauss::copy_members ( const GModelSpatialEllipticalGeneralGauss model)
protected
double GModelSpatialEllipticalGeneralGauss::eval ( const double &  theta,
const double &  posangle,
const GEnergy energy,
const GTime time,
const bool &  gradients = false 
) const
virtual

Evaluate function (in units of sr^-1)

Parameters
[in]thetaAngular distance from disk centre (radians).
[in]posanglePosition angle (counterclockwise from North) (radians).
[in]energyPhoton energy.
[in]timePhoton arrival time.
[in]gradientsCompute gradients?
Returns
Model value.

Evaluates the spatial component for a generalised elliptical Gaussian source model.

The generalised elliptical Gaussian function is defined by \(S_{\rm p}(\theta, \phi | E, t)\), where \(\theta\) is the angular separation between elliptical Gaussian centre and the actual location and \(\phi\) the position angle with respect to the model centre, counted counterclockwise from North.

The function \(S_{\rm p}(\theta, \phi | E, t)\) is given by

\[ S_{\rm p}(\theta, \phi | E, t) = {\tt m\_norm} \times \exp \left( -\left(\frac{\theta}{r_{\rm eff}}\right)^1/\eta \right) \]

where the effective ellipse radius \(r_{\rm eff}\) towards a given position angle is given by

\[ r_{\rm eff} = \frac{ab} {\sqrt{\left( a \sin (\phi - \phi_0) \right)^2} + \sqrt{\left( b \cos (\phi - \phi_0) \right)^2}} \]

and \(a\) is the semi-major axis of the ellipse, \(b\) is the semi-minor axis, \(\phi_0\) is the position angle of the ellipse, counted counterclockwise from North, and \(\et\) is the reciprocal of the radial profile index \({\tt m\_norm}\) is a normalization constant given by

\[ {\tt m\_norm} = \frac{1}{2 \pi a b \eta \Gamma(\eta)} \]

The method will not compute analytical parameter gradients, even if the gradients argument is set to true. Parameter gradients need to be computed numerically.

Warning
The above formula for an elliptical generalised Gaussian are accurate for small angles, with semimajor and semiminor axes below a few degrees. This should be fine for most use cases, but you should be aware that the ellipse will get distorted for larger angles. Note that the model normalisation is only correct in the small angle approximation and for \(\eta\) order unity or smaller.

< small angle

Implements GModelSpatialElliptical.

Definition at line 332 of file GModelSpatialEllipticalGeneralGauss.cpp.

References cos(), gammalib::deg2rad, exp(), gammalib::is_infinite(), gammalib::is_notanumber(), m_inv_ridx, m_major2, m_major_rad, m_minor2, m_minor_rad, m_norm, m_term1, m_term2, m_term3, GModelSpatialElliptical::posangle(), pow(), sin(), sqrt(), theta_max(), and update().

Referenced by mc().

void GModelSpatialEllipticalGeneralGauss::free_members ( void  )
protected

Delete class members.

Definition at line 712 of file GModelSpatialEllipticalGeneralGauss.cpp.

Referenced by clear(), operator=(), and ~GModelSpatialEllipticalGeneralGauss().

GSkyDir GModelSpatialEllipticalGeneralGauss::mc ( const GEnergy energy,
const GTime time,
GRan ran 
) const
virtual

Returns MC sky direction.

Parameters
[in]energyPhoton energy.
[in]timePhoton arrival time.
[in,out]ranRandom number generator.
Returns
Sky direction.

Draws an arbitrary sky direction from the elliptical generalised Gaussian model.

Implements GModelSpatialElliptical.

Definition at line 407 of file GModelSpatialEllipticalGeneralGauss.cpp.

References GModelSpatialElliptical::dir(), eval(), G_MC, m_norm, gammalib::rad2deg, GSkyDir::rotate_deg(), sin(), theta_max(), gammalib::twopi, GRan::uniform(), and update().

GModelSpatialEllipticalGeneralGauss & GModelSpatialEllipticalGeneralGauss::operator= ( const GModelSpatialEllipticalGeneralGauss model)
virtual

Assignment operator.

Parameters
[in]modelGeneralised elliptical Gaussian model.
Returns
Generalised elliptical Gaussian model.

Definition at line 212 of file GModelSpatialEllipticalGeneralGauss.cpp.

References copy_members(), free_members(), init_members(), and GModelSpatialElliptical::operator=().

std::string GModelSpatialEllipticalGeneralGauss::print ( const GChatter chatter = NORMAL) const
virtual

Print information.

Parameters
[in]chatterChattiness.
Returns
String containing model information.

Implements GModelSpatialElliptical.

Definition at line 599 of file GModelSpatialEllipticalGeneralGauss.cpp.

References GModelSpatial::m_pars, gammalib::parformat(), SILENT, GModelSpatial::size(), and gammalib::str().

void GModelSpatialEllipticalGeneralGauss::read ( const GXmlElement xml)
virtual

Read model from XML element.

Parameters
[in]xmlXML element.

Reads the elliptical gauss model information from an XML element. The XML element shall have either the format

<spatialModel type="EllipticalGeneralGaussian">
  <parameter name="RA"          scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  <parameter name="DEC"         scale="1.0" value="22.0145" min="-90"  max="90"  free="1"/>
  <parameter name="PA"          scale="1.0" value="45.0"    min="-360"  max="360" free="1"/>
  <parameter name="MinorRadius" scale="1.0" value="0.5"     min="0.001" max="10"  free="1"/>
  <parameter name="MajorRadius" scale="1.0" value="2.0"     min="0.001" max="10"  free="1"/>
  <parameter name="R_Index"     scale="1.0" value="0.5"     min="0.01" max="10"  free="1"/>
</spatialModel>

or

<spatialModel type="EllipticalGeneralGaussian">
  <parameter name="GLON"        scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  <parameter name="GLAT"        scale="1.0" value="22.0145" min="-90"  max="90"  free="1"/>
  <parameter name="PA"          scale="1.0" value="45.0"    min="-360"  max="360" free="1"/>
  <parameter name="MinorRadius" scale="1.0" value="0.5"     min="0.001" max="10"  free="1"/>
  <parameter name="MajorRadius" scale="1.0" value="2.0"     min="0.001" max="10"  free="1"/>
  <parameter name="R_Index"     scale="1.0" value="0.5"    min="0.01" max="10"  free="1"/>
</spatialModel>
Todo:
Implement a test of the ellipse boundary. The axes and axes minimum should be >0.

Reimplemented from GModelSpatialElliptical.

Definition at line 529 of file GModelSpatialEllipticalGeneralGauss.cpp.

References G_READ, m_ridx, GModelSpatialElliptical::m_semimajor, GModelSpatialElliptical::m_semiminor, GOptimizerPar::name(), GModelSpatialElliptical::read(), GModelPar::read(), ridx(), gammalib::xml_check_parnum(), and gammalib::xml_get_par().

Referenced by GModelSpatialEllipticalGeneralGauss().

double GModelSpatialEllipticalGeneralGauss::ridx ( void  ) const
inline

Return reciprocal of the elliptical profile index.

Returns
Reciprocal of the elliptical profile index.

Returns the reciprocal of the elliptical profile index.

Definition at line 148 of file GModelSpatialEllipticalGeneralGauss.hpp.

References m_ridx, and GOptimizerPar::value().

Referenced by GModelSpatialEllipticalGeneralGauss(), read(), update(), and write().

void GModelSpatialEllipticalGeneralGauss::ridx ( const double &  ridx)
inline

Set reciprocal of the elliptical profile index.

Parameters
[in]ridxReciprocal of the elliptical profile index.

Sets the reciprocal of the elliptical profile index.

Definition at line 161 of file GModelSpatialEllipticalGeneralGauss.hpp.

References m_ridx, and GOptimizerPar::value().

void GModelSpatialEllipticalGeneralGauss::set_region ( void  ) const
protectedvirtual
double GModelSpatialEllipticalGeneralGauss::theta_max ( void  ) const
virtual

Return maximum model radius (in radians)

Returns
Returns maximum model radius (radians).

Returns the maximum of 3.0 semimajor() and 3.0 semiminor() as approximate edge of the Gaussian. This limit is of course arbitrary, but allows to limit the integration region for response computation. The value of 3.0 has been determined by experiment (#1561).

Implements GModelSpatialElliptical.

Definition at line 486 of file GModelSpatialEllipticalGeneralGauss.cpp.

References gammalib::deg2rad, GModelSpatialElliptical::semimajor(), and GModelSpatialElliptical::semiminor().

Referenced by contains(), eval(), and mc().

void GModelSpatialEllipticalGeneralGauss::update ( void  ) const
protected

Update precomputation cache.

Computes the normalization

\[ {\tt m\_norm} = \frac{1}{2 \pi \times a \times b} \]

where \(a\) is the semi-major axis and \(b\) is the semi-minor axis of the ellipse.

Warning
The normalization of the elliptical Gaussian is only valid in the small angle approximation.

Definition at line 734 of file GModelSpatialEllipticalGeneralGauss.cpp.

References cos(), gammalib::deg2rad, exp(), gammalib::gammln(), m_cospos2, m_inv_ridx, m_last_major, m_last_minor, m_last_posangle, m_last_ridx, m_major2, m_major_rad, m_minor2, m_minor_rad, m_norm, m_sin2pos, m_sinpos2, m_term1, m_term2, m_term3, GModelSpatialElliptical::posangle(), ridx(), GModelSpatialElliptical::semimajor(), GModelSpatialElliptical::semiminor(), sin(), and gammalib::twopi.

Referenced by eval(), and mc().

void GModelSpatialEllipticalGeneralGauss::write ( GXmlElement xml) const
virtual

Write model into XML element.

Parameters
[in]xmlXML element into which model information is written.

Write the elliptical gauss model information into an XML element. The XML element will have the format

<spatialModel type="EllipticalGeneralGaussian">
  <parameter name="RA"          scale="1.0" value="83.6331" min="-360" max="360" free="1"/>
  <parameter name="DEC"         scale="1.0" value="22.0145" min="-90"  max="90"  free="1"/>
  <parameter name="PA"          scale="1.0" value="45.0"    min="-360"  max="360" free="1"/>
  <parameter name="MinorRadius" scale="1.0" value="0.5"     min="0.001" max="10"  free="1"/>
  <parameter name="MajorRadius" scale="1.0" value="2.0"     min="0.001" max="10"  free="1"/>
  <parameter name="R_Index"     scale="1.0" value="0.5"     min="0.01" max="10"  free="1"/>
</spatialModel>

Reimplemented from GModelSpatialElliptical.

Definition at line 570 of file GModelSpatialEllipticalGeneralGauss.cpp.

References G_WRITE, m_ridx, GModelSpatialElliptical::m_semimajor, GModelSpatialElliptical::m_semiminor, GOptimizerPar::name(), ridx(), GModelSpatial::type(), GModelSpatialElliptical::write(), GModelPar::write(), gammalib::xml_check_type(), and gammalib::xml_need_par().

Member Data Documentation

double GModelSpatialEllipticalGeneralGauss::m_cospos2
mutableprotected

squared cosine of position angle

Definition at line 112 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_inv_ridx
mutableprotected

Spatial profile index.

Definition at line 124 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_last_major
mutableprotected

Last semi-major axis.

Definition at line 110 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_last_minor
mutableprotected

Last semi-minor axis.

Definition at line 109 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_last_posangle
mutableprotected

Last position angle.

Definition at line 111 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_last_ridx
mutableprotected

Last reciprocal radial index.

Definition at line 123 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_major2
mutableprotected

square of major axis

Definition at line 116 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_major_rad
mutableprotected

Major axis in radians.

Definition at line 118 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_minor2
mutableprotected

square of minor axis

Definition at line 115 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_minor_rad
mutableprotected

Minor axis in radians.

Definition at line 117 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_norm
mutableprotected

Normalization.

Definition at line 119 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), mc(), and update().

GModelPar GModelSpatialEllipticalGeneralGauss::m_ridx
protected

Reciprocal of exponent of the radial profile.

Definition at line 106 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), read(), ridx(), and write().

double GModelSpatialEllipticalGeneralGauss::m_sin2pos
mutableprotected

sine of twice the position angle

Definition at line 114 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_sinpos2
mutableprotected

squared sine of position angle

Definition at line 113 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_term1
mutableprotected

Help term 1.

Definition at line 120 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_term2
mutableprotected

Help term 2.

Definition at line 121 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().

double GModelSpatialEllipticalGeneralGauss::m_term3
mutableprotected

Help term 3.

Definition at line 122 of file GModelSpatialEllipticalGeneralGauss.hpp.

Referenced by copy_members(), eval(), init_members(), and update().


The documentation for this class was generated from the following files: