casa
5.7.0-16
|
A limb-darkened disk model for the spatial distribution of emission. More...
#include <LimbDarkenedDiskShape.h>
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... | |
LimbDarkenedDiskShape & | operator= (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, 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 ComponentShape * | clone () 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 ComponentShape * | getPtr () 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 > ¶meters, 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::String & | ident () const |
Specify the identification of the record (e.g. More... | |
void | setRefDirection (const casacore::MDirection &newRefDir) |
const casacore::MDirection & | refDirection () 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) | |
TwoSidedShape & | operator= (const TwoSidedShape &other) |
Protected Member Functions inherited from casa::ComponentShape | |
ComponentShape () | |
ComponentShape (const casacore::MDirection &direction) | |
ComponentShape (const ComponentShape &other) | |
ComponentShape & | operator= (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) |
A limb-darkened disk model for the spatial distribution of emission.
Public interface
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 ( ).
Definition at line 104 of file LimbDarkenedDiskShape.h.
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 |
The destructor.
|
private |
|
private |
|
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 |
|
virtual |
return a pointer to this object.
Implements casa::ComponentShape.
|
virtual |
Implements casa::TwoSidedShape.
|
virtual |
Implements casa::TwoSidedShape.
|
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 |
Reimplemented from casa::TwoSidedShape.
|
virtual |
Implements casa::TwoSidedShape.
|
staticprivate |
|
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 |
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 |
set n factor in darkening equation,
|
virtual |
Reimplemented from casa::TwoSidedShape.
|
virtual |
use diskshape ones?
Implements casa::TwoSidedShape.
|
virtual |
Get the string containing the various size quantities of a component.
Implements casa::TwoSidedShape.
|
virtual |
get the type of the shape (always returns ComponentType::LimbDakenedDisk)
Implements casa::TwoSidedShape.
|
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 |
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 |
same as above except with many frequencies
Implements casa::TwoSidedShape.
|
private |
Definition at line 235 of file LimbDarkenedDiskShape.h.
|
private |
Definition at line 234 of file LimbDarkenedDiskShape.h.
|
private |
Definition at line 231 of file LimbDarkenedDiskShape.h.
|
private |
Definition at line 232 of file LimbDarkenedDiskShape.h.
|
private |
Definition at line 233 of file LimbDarkenedDiskShape.h.