casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
casa::LimbDarkenedDiskShape Class Reference

A limb-darkened disk model for the spatial distribution of emission. More...

#include <LimbDarkenedDiskShape.h>

Inheritance diagram for casa::LimbDarkenedDiskShape:
casa::TwoSidedShape casa::ComponentShape casacore::RecordTransformable

Public Member Functions

 LimbDarkenedDiskShape ()
 Default constsructor. More...
 
 LimbDarkenedDiskShape (const casacore::MDirection &direction, const casacore::Quantum< casacore::Double > &majorAxis, const casacore::Quantum< casacore::Double > &minorAxis, const casacore::Quantum< casacore::Double > &positionAngle, const casacore::Float &n)
 
 LimbDarkenedDiskShape (const casacore::MDirection &direction, const casacore::Quantum< casacore::Double > &width, const casacore::Double axialRatio, const casacore::Quantum< casacore::Double > &positionAngle, const casacore::Float &n)
 
 LimbDarkenedDiskShape (const LimbDarkenedDiskShape &other)
 The copy constructor. More...
 
virtual ~LimbDarkenedDiskShape ()
 The destructor. More...
 
LimbDarkenedDiskShapeoperator= (const LimbDarkenedDiskShape &other)
 The assignment operator. More...
 
virtual ComponentType::Shape type () const
 get the type of the shape (always returns ComponentType::LimbDakenedDisk) More...
 
virtual void setWidthInRad (const casacore::Double majorAxis, const casacore::Double minorAxis, const casacore::Double positionAngle)
 use diskshape ones? More...
 
virtual casacore::Double majorAxisInRad () const
 
virtual casacore::Double minorAxisInRad () const
 
virtual casacore::Double positionAngleInRad () const
 
virtual casacore::Float getAttnFactor () const
 
virtual void setAttnFactor (const casacore::Float attnFactor)
 set n factor in darkening equation, $I=I_{0}(1-(\frac{r}{R})^{2})^{\frac{n}{2}}$ More...
 
virtual casacore::Vector
< casacore::Double
optParameters () const
 
virtual void setOptParameters (const casacore::Vector< casacore::Double > &newOptParms)
 
virtual casacore::Double sample (const casacore::MDirection &direction, const casacore::MVAngle &pixelLatSize, const casacore::MVAngle &pixelLongSize) const
 Calculate the proportion of the flux that is in a pixel of specified size centered in the specified direction. More...
 
virtual void sample (casacore::Vector< casacore::Double > &scale, const casacore::Vector< casacore::MDirection::MVType > &directions, const casacore::MDirection::Ref &refFrame, const casacore::MVAngle &pixelLatSize, const casacore::MVAngle &pixelLongSize) const
 Same as the previous function except that many directions can be sampled at once. More...
 
virtual casacore::DComplex visibility (const casacore::Vector< casacore::Double > &uvw, const casacore::Double &frequency) const
 Return the Fourier transform of the component at the specified point in the spatial frequency domain. More...
 
virtual void visibility (casacore::Vector< casacore::DComplex > &scale, const casacore::Matrix< casacore::Double > &uvw, const casacore::Double &frequency) const
 Same as the previous function except that many (u,v,w) points can be sampled at once. More...
 
virtual void visibility (casacore::Matrix< casacore::DComplex > &scale, const casacore::Matrix< casacore::Double > &uvw, const casacore::Vector< casacore::Double > &frequency) const
 same as above except with many frequencies More...
 
virtual ComponentShapeclone () const
 Return a pointer to a copy of this object upcast to a ComponentShape object. More...
 
virtual casacore::Bool ok () const
 casacore::Function which checks the internal data of this class for correct dimensionality and consistent values. More...
 
virtual const ComponentShapegetPtr () const
 return a pointer to this object. More...
 
virtual casacore::String sizeToString () const
 Get the string containing the various size quantities of a component. More...
 
- Public Member Functions inherited from casa::TwoSidedShape
virtual ~TwoSidedShape ()
 a virtual destructor is needed so that the actual destructor in the derived class will be used. More...
 
void setWidth (const casacore::Quantum< casacore::Double > &majorAxis, const casacore::Quantum< casacore::Double > &minorAxis, const casacore::Quantum< casacore::Double > &positionAngle)
 set/get the width and orientation of the Shape. More...
 
void setWidth (const casacore::Quantum< casacore::Double > &majorAxis, const casacore::Double axialRatio, const casacore::Quantum< casacore::Double > &positionAngle)
 
casacore::Quantum
< casacore::Double
majorAxis () const
 
casacore::Quantum
< casacore::Double
minorAxis () const
 
casacore::Quantum
< casacore::Double
positionAngle () const
 
casacore::Double axialRatio () const
 
void setErrors (const casacore::Quantum< casacore::Double > &majorAxisError, const casacore::Quantum< casacore::Double > &minorAxisError, const casacore::Quantum< casacore::Double > &positionAngleError)
 set/get the errors on the shape parameters. More...
 
const casacore::Quantum
< casacore::Double > & 
majorAxisError () const
 
const casacore::Quantum
< casacore::Double > & 
minorAxisError () const
 
const casacore::Quantum
< casacore::Double > & 
positionAngleError () const
 
casacore::Double axialRatioError () const
 
virtual casacore::Bool isSymmetric () const
 determine whether the shape is symmetric or not. More...
 
virtual casacore::uInt nParameters () const
 set/get the shape parameters associated with this shape. More...
 
virtual void setParameters (const casacore::Vector< casacore::Double > &newParms)
 
virtual casacore::Vector
< casacore::Double
parameters () const
 
virtual void setErrors (const casacore::Vector< casacore::Double > &newParms)
 
virtual casacore::Vector
< casacore::Double
errors () const
 
virtual casacore::Bool fromRecord (casacore::String &errorMessage, const casacore::RecordInterface &record)
 This functions convert between a casacore::Record and a shape derived from this class. More...
 
virtual casacore::Bool toRecord (casacore::String &errorMessage, casacore::RecordInterface &record) const
 Convert the class to an Record representation. More...
 
virtual casacore::Bool convertUnit (casacore::String &errorMessage, const casacore::RecordInterface &record)
 Convert the parameters of the component to the specified units. More...
 
virtual casacore::Vector
< casacore::Double
toPixel (const casacore::DirectionCoordinate &dirCoord) const
 Convert component shape to absolute pixels (longitude, latitude, major axis, minor axis, position angle [positive +x -> +y ; rad]) More...
 
virtual casacore::Bool fromPixel (const casacore::Vector< casacore::Double > &parameters, const casacore::DirectionCoordinate &dirCoord)
 Fill the shape from the vector (longitude, latitude, major axis, minor axis, position angle [positive +x -> +y ; rad]). More...
 
- Public Member Functions inherited from casa::ComponentShape
virtual ~ComponentShape ()
 
virtual const casacore::Stringident () const
 Specify the identification of the record (e.g. More...
 
void setRefDirection (const casacore::MDirection &newRefDir)
 
const casacore::MDirectionrefDirection () const
 
void setRefDirectionError (const casacore::Quantum< casacore::Double > &newRefDirErrLat, const casacore::Quantum< casacore::Double > &newRefDirErrLong)
 
const casacore::Quantum
< casacore::Double > & 
refDirectionErrorLat () const
 
const casacore::Quantum
< casacore::Double > & 
refDirectionErrorLong () const
 
void copyDirectionInfo (const ComponentShape &that)
 
- Public Member Functions inherited from casacore::RecordTransformable
virtual ~RecordTransformable ()
 The destructor must be virtual so that the destructor of derived classes is actually used. More...
 
virtual Bool fromString (String &error, const String &inString)
 Initialise the class from a String representation. More...
 

Private Member Functions

casacore::Double calcSample (const casacore::MDirection::MVType &compDirValue, const casacore::MDirection::MVType &dirVal, const casacore::Double majRad, const casacore::Double minRad, const casacore::Double pixValue) const
 
casacore::Double calcVis (casacore::Double u, casacore::Double v, const casacore::Double factor) const
 

Static Private Member Functions

static void rotateVis (casacore::Double &u, casacore::Double &v, const casacore::Double cpa, const casacore::Double spa)
 

Private Attributes

casacore::Double itsMajValue
 
casacore::Double itsMinValue
 
casacore::Double itsPaValue
 
casacore::Double itsHeight
 
casacore::Float itsAttnFactor
 

Additional Inherited Members

- Static Public Member Functions inherited from casa::TwoSidedShape
static casacore::String sizeToString (casacore::Quantity major, casacore::Quantity minor, casacore::Quantity posangle, casacore::Bool includeUncertainties=true, casacore::Quantity majorErr=0, casacore::Quantity minorErr=0, casacore::Quantity posanErr=0)
 casacore::Format the string containing the various size quantities of a component. More...
 
- Static Public Member Functions inherited from casa::ComponentShape
static ComponentType::Shape getType (casacore::String &errorMessage, const casacore::RecordInterface &record)
 
- Protected Member Functions inherited from casa::TwoSidedShape
 TwoSidedShape ()
 The constructors and assignment operator are protected as only derived classes should use them. More...
 
 TwoSidedShape (const casacore::MDirection &direction, const casacore::Unit &majorAxisUnit, const casacore::Unit &minorAxisUnit, const casacore::Unit &paUnit)
 
 TwoSidedShape (const TwoSidedShape &other)
 
TwoSidedShapeoperator= (const TwoSidedShape &other)
 
- Protected Member Functions inherited from casa::ComponentShape
 ComponentShape ()
 
 ComponentShape (const casacore::MDirection &direction)
 
 ComponentShape (const ComponentShape &other)
 
ComponentShapeoperator= (const ComponentShape &other)
 
- Static Protected Member Functions inherited from casa::ComponentShape
static casacore::Bool differentRefs (const casacore::MeasRef< casacore::MDirection > &ref1, const casacore::MeasRef< casacore::MDirection > &ref2)
 
static casacore::Bool badError (const casacore::Quantum< casacore::Double > &quantum)
 
static casacore::Bool fromAngQRecord (casacore::Quantum< casacore::Double > &returnValue, casacore::String &errorMessage, const casacore::String &fieldString, const casacore::RecordInterface &record)
 

Detailed Description

A limb-darkened disk model for the spatial distribution of emission.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

A LimbDarkenedDiskShape models the spatial distribution of radiation from the sky as a using a limb-darkened elliptical disk with user specified major axis width, minor axis width and position angle.

This class like the other component shapes becomes more useful when used through the SkyComponent class, which incorperates the flux and spectral variation of the emission, or through the ComponentList class, which handles groups of SkyComponent objects.

The functionality of this class is similar to that of DiskShape with an additional parameter to describe the exponent in the limb darkened disk model ( $I=I_{0}(1-(r/R)^{2})^{n/2}$).

Example

Motivation

Definition at line 104 of file LimbDarkenedDiskShape.h.

Constructor & Destructor Documentation

casa::LimbDarkenedDiskShape::LimbDarkenedDiskShape ( )

Default constsructor.

casa::LimbDarkenedDiskShape::LimbDarkenedDiskShape ( const casacore::MDirection direction,
const casacore::Quantum< casacore::Double > &  majorAxis,
const casacore::Quantum< casacore::Double > &  minorAxis,
const casacore::Quantum< casacore::Double > &  positionAngle,
const casacore::Float n 
)
casa::LimbDarkenedDiskShape::LimbDarkenedDiskShape ( const casacore::MDirection direction,
const casacore::Quantum< casacore::Double > &  width,
const casacore::Double  axialRatio,
const casacore::Quantum< casacore::Double > &  positionAngle,
const casacore::Float n 
)
casa::LimbDarkenedDiskShape::LimbDarkenedDiskShape ( const LimbDarkenedDiskShape other)

The copy constructor.

virtual casa::LimbDarkenedDiskShape::~LimbDarkenedDiskShape ( )
virtual

The destructor.

Member Function Documentation

casacore::Double casa::LimbDarkenedDiskShape::calcSample ( const casacore::MDirection::MVType compDirValue,
const casacore::MDirection::MVType dirVal,
const casacore::Double  majRad,
const casacore::Double  minRad,
const casacore::Double  pixValue 
) const
private
casacore::Double casa::LimbDarkenedDiskShape::calcVis ( casacore::Double  u,
casacore::Double  v,
const casacore::Double  factor 
) const
private
virtual ComponentShape* casa::LimbDarkenedDiskShape::clone ( ) const
virtual

Return a pointer to a copy of this object upcast to a ComponentShape object.

The class that uses this function is responsible for deleting the pointer. This is used to implement a virtual copy constructor.

Implements casa::TwoSidedShape.

virtual casacore::Float casa::LimbDarkenedDiskShape::getAttnFactor ( ) const
virtual
virtual const ComponentShape* casa::LimbDarkenedDiskShape::getPtr ( ) const
virtual

return a pointer to this object.

Implements casa::ComponentShape.

virtual casacore::Double casa::LimbDarkenedDiskShape::majorAxisInRad ( ) const
virtual

Implements casa::TwoSidedShape.

virtual casacore::Double casa::LimbDarkenedDiskShape::minorAxisInRad ( ) const
virtual

Implements casa::TwoSidedShape.

virtual casacore::Bool casa::LimbDarkenedDiskShape::ok ( ) const
virtual

casacore::Function which checks the internal data of this class for correct dimensionality and consistent values.

Returns true if everything is fine otherwise returns false.

Reimplemented from casa::TwoSidedShape.

LimbDarkenedDiskShape& casa::LimbDarkenedDiskShape::operator= ( const LimbDarkenedDiskShape other)

The assignment operator.

virtual casacore::Vector<casacore::Double> casa::LimbDarkenedDiskShape::optParameters ( ) const
virtual

Reimplemented from casa::TwoSidedShape.

virtual casacore::Double casa::LimbDarkenedDiskShape::positionAngleInRad ( ) const
virtual

Implements casa::TwoSidedShape.

static void casa::LimbDarkenedDiskShape::rotateVis ( casacore::Double u,
casacore::Double v,
const casacore::Double  cpa,
const casacore::Double  spa 
)
staticprivate
virtual casacore::Double casa::LimbDarkenedDiskShape::sample ( const casacore::MDirection direction,
const casacore::MVAngle pixelLatSize,
const casacore::MVAngle pixelLongSize 
) const
virtual

Calculate the proportion of the flux that is in a pixel of specified size centered in the specified direction.

The returned value will always be between zero and one (inclusive).

Implements casa::TwoSidedShape.

virtual void casa::LimbDarkenedDiskShape::sample ( casacore::Vector< casacore::Double > &  scale,
const casacore::Vector< casacore::MDirection::MVType > &  directions,
const casacore::MDirection::Ref refFrame,
const casacore::MVAngle pixelLatSize,
const casacore::MVAngle pixelLongSize 
) const
virtual

Same as the previous function except that many directions can be sampled at once.

The reference frame and pixel size must be the same for all the specified directions.

Implements casa::TwoSidedShape.

virtual void casa::LimbDarkenedDiskShape::setAttnFactor ( const casacore::Float  attnFactor)
virtual

set n factor in darkening equation, $I=I_{0}(1-(\frac{r}{R})^{2})^{\frac{n}{2}}$

virtual void casa::LimbDarkenedDiskShape::setOptParameters ( const casacore::Vector< casacore::Double > &  newOptParms)
virtual

Reimplemented from casa::TwoSidedShape.

virtual void casa::LimbDarkenedDiskShape::setWidthInRad ( const casacore::Double  majorAxis,
const casacore::Double  minorAxis,
const casacore::Double  positionAngle 
)
virtual

use diskshape ones?

Implements casa::TwoSidedShape.

virtual casacore::String casa::LimbDarkenedDiskShape::sizeToString ( ) const
virtual

Get the string containing the various size quantities of a component.

Implements casa::TwoSidedShape.

virtual ComponentType::Shape casa::LimbDarkenedDiskShape::type ( ) const
virtual

get the type of the shape (always returns ComponentType::LimbDakenedDisk)

Implements casa::TwoSidedShape.

virtual casacore::DComplex casa::LimbDarkenedDiskShape::visibility ( const casacore::Vector< casacore::Double > &  uvw,
const casacore::Double frequency 
) const
virtual

Return the Fourier transform of the component at the specified point in the spatial frequency domain.

The point is specified by a 3 element vector (u,v,w) that has units of meters and the frequency of the observation, in Hertz. These two quantities can be used to derive the required spatial frequency (s = uvw*freq/c). The w component is not used in these functions.

The reference position for the transform is the direction of the component. As this component is symmetric about this point the transform is always a real value.

Implements casa::TwoSidedShape.

virtual void casa::LimbDarkenedDiskShape::visibility ( casacore::Vector< casacore::DComplex > &  scale,
const casacore::Matrix< casacore::Double > &  uvw,
const casacore::Double frequency 
) const
virtual

Same as the previous function except that many (u,v,w) points can be sampled at once.

The uvw casacore::Matrix must have a first dimension of three, and a second dimension that is the same as the length of the scale Vector. Otherwise and exception is thrown (when compiled in debug mode).

Implements casa::TwoSidedShape.

virtual void casa::LimbDarkenedDiskShape::visibility ( casacore::Matrix< casacore::DComplex > &  scale,
const casacore::Matrix< casacore::Double > &  uvw,
const casacore::Vector< casacore::Double > &  frequency 
) const
virtual

same as above except with many frequencies

Implements casa::TwoSidedShape.

Member Data Documentation

casacore::Float casa::LimbDarkenedDiskShape::itsAttnFactor
private

Definition at line 235 of file LimbDarkenedDiskShape.h.

casacore::Double casa::LimbDarkenedDiskShape::itsHeight
private

Definition at line 234 of file LimbDarkenedDiskShape.h.

casacore::Double casa::LimbDarkenedDiskShape::itsMajValue
private

Definition at line 231 of file LimbDarkenedDiskShape.h.

casacore::Double casa::LimbDarkenedDiskShape::itsMinValue
private

Definition at line 232 of file LimbDarkenedDiskShape.h.

casacore::Double casa::LimbDarkenedDiskShape::itsPaValue
private

Definition at line 233 of file LimbDarkenedDiskShape.h.


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