casa
$Rev:20696$
|
A limb-darkened disk model for the spatial distribution of emission. More...
#include <LimbDarkenedDiskShape.h>
Public Member Functions | |
LimbDarkenedDiskShape () | |
Default constsructor. | |
LimbDarkenedDiskShape (const MDirection &direction, const Quantum< Double > &majorAxis, const Quantum< Double > &minorAxis, const Quantum< Double > &positionAngle, const Float &n) | |
LimbDarkenedDiskShape (const MDirection &direction, const Quantum< Double > &width, const Double axialRatio, const Quantum< Double > &positionAngle, const Float &n) | |
LimbDarkenedDiskShape (const LimbDarkenedDiskShape &other) | |
The copy constructor. | |
virtual | ~LimbDarkenedDiskShape () |
The destructor. | |
LimbDarkenedDiskShape & | operator= (const LimbDarkenedDiskShape &other) |
The assignment operator. | |
virtual ComponentType::Shape | type () const |
get the type of the shape (always returns ComponentType::LimbDakenedDisk) | |
virtual void | setWidthInRad (const Double majorAxis, const Double minorAxis, const Double positionAngle) |
use diskshape ones? | |
virtual Double | majorAxisInRad () const |
virtual Double | minorAxisInRad () const |
virtual Double | positionAngleInRad () const |
virtual Float | getAttnFactor () const |
virtual void | setAttnFactor (const Float attnFactor) |
set n factor in darkening equation, | |
virtual Vector< Double > | optParameters () const |
virtual void | setOptParameters (const Vector< Double > &newOptParms) |
virtual Double | sample (const MDirection &direction, const MVAngle &pixelLatSize, const MVAngle &pixelLongSize) const |
Calculate the proportion of the flux that is in a pixel of specified size centered in the specified direction. | |
virtual void | sample (Vector< Double > &scale, const Vector< MDirection::MVType > &directions, const MDirection::Ref &refFrame, const MVAngle &pixelLatSize, const MVAngle &pixelLongSize) const |
Same as the previous function except that many directions can be sampled at once. | |
virtual DComplex | visibility (const Vector< Double > &uvw, const Double &frequency) const |
Return the Fourier transform of the component at the specified point in the spatial frequency domain. | |
virtual void | visibility (Vector< DComplex > &scale, const Matrix< Double > &uvw, const Double &frequency) const |
Same as the previous function except that many (u,v,w) points can be sampled at once. | |
virtual void | visibility (Matrix< DComplex > &scale, const Matrix< Double > &uvw, const Vector< Double > &frequency) const |
same as above except with many frequencies | |
virtual ComponentShape * | clone () const |
Return a pointer to a copy of this object upcast to a ComponentShape object. | |
virtual Bool | ok () const |
Function which checks the internal data of this class for correct dimensionality and consistent values. | |
virtual const ComponentShape * | getPtr () const |
return a pointer to this object. | |
virtual String | sizeToString () const |
Get the string containing the various size quantities of a component. | |
Private Member Functions | |
Double | calcSample (const MDirection::MVType &compDirValue, const MDirection::MVType &dirVal, const Double majRad, const Double minRad, const Double pixValue) const |
Double | calcVis (Double u, Double v, const Double factor) const |
Static Private Member Functions | |
static void | rotateVis (Double &u, Double &v, const Double cpa, const Double spa) |
Private Attributes | |
Double | itsMajValue |
Double | itsMinValue |
Double | itsPaValue |
Double | itsHeight |
Float | itsAttnFactor |
A limb-darkened disk model for the spatial distribution of emission.
Public interface
<h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd</dl>
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 100 of file LimbDarkenedDiskShape.h.
Default constsructor.
casa::LimbDarkenedDiskShape::LimbDarkenedDiskShape | ( | const MDirection & | direction, |
const Quantum< Double > & | majorAxis, | ||
const Quantum< Double > & | minorAxis, | ||
const Quantum< Double > & | positionAngle, | ||
const Float & | n | ||
) |
casa::LimbDarkenedDiskShape::LimbDarkenedDiskShape | ( | const MDirection & | direction, |
const Quantum< Double > & | width, | ||
const Double | axialRatio, | ||
const Quantum< Double > & | positionAngle, | ||
const Float & | n | ||
) |
casa::LimbDarkenedDiskShape::LimbDarkenedDiskShape | ( | const LimbDarkenedDiskShape & | other | ) |
The copy constructor.
virtual casa::LimbDarkenedDiskShape::~LimbDarkenedDiskShape | ( | ) | [virtual] |
The destructor.
Double casa::LimbDarkenedDiskShape::calcSample | ( | const MDirection::MVType & | compDirValue, |
const MDirection::MVType & | dirVal, | ||
const Double | majRad, | ||
const Double | minRad, | ||
const Double | pixValue | ||
) | const [private] |
Double casa::LimbDarkenedDiskShape::calcVis | ( | Double | u, |
Double | v, | ||
const 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 Float casa::LimbDarkenedDiskShape::getAttnFactor | ( | ) | const [virtual] |
virtual const ComponentShape* casa::LimbDarkenedDiskShape::getPtr | ( | ) | const [virtual] |
return a pointer to this object.
Implements casa::ComponentShape.
virtual Double casa::LimbDarkenedDiskShape::majorAxisInRad | ( | ) | const [virtual] |
Implements casa::TwoSidedShape.
virtual Double casa::LimbDarkenedDiskShape::minorAxisInRad | ( | ) | const [virtual] |
Implements casa::TwoSidedShape.
virtual Bool casa::LimbDarkenedDiskShape::ok | ( | ) | const [virtual] |
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 Vector<Double> casa::LimbDarkenedDiskShape::optParameters | ( | ) | const [virtual] |
Reimplemented from casa::TwoSidedShape.
virtual Double casa::LimbDarkenedDiskShape::positionAngleInRad | ( | ) | const [virtual] |
Implements casa::TwoSidedShape.
static void casa::LimbDarkenedDiskShape::rotateVis | ( | Double & | u, |
Double & | v, | ||
const Double | cpa, | ||
const Double | spa | ||
) | [static, private] |
virtual Double casa::LimbDarkenedDiskShape::sample | ( | const MDirection & | direction, |
const MVAngle & | pixelLatSize, | ||
const 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 | ( | Vector< Double > & | scale, |
const Vector< MDirection::MVType > & | directions, | ||
const MDirection::Ref & | refFrame, | ||
const MVAngle & | pixelLatSize, | ||
const 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 Float | attnFactor | ) | [virtual] |
set n factor in darkening equation,
virtual void casa::LimbDarkenedDiskShape::setOptParameters | ( | const Vector< Double > & | newOptParms | ) | [virtual] |
Reimplemented from casa::TwoSidedShape.
virtual void casa::LimbDarkenedDiskShape::setWidthInRad | ( | const Double | majorAxis, |
const Double | minorAxis, | ||
const Double | positionAngle | ||
) | [virtual] |
use diskshape ones?
Implements casa::TwoSidedShape.
virtual 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 DComplex casa::LimbDarkenedDiskShape::visibility | ( | const Vector< Double > & | uvw, |
const 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 | ( | Vector< DComplex > & | scale, |
const Matrix< Double > & | uvw, | ||
const Double & | frequency | ||
) | const [virtual] |
Same as the previous function except that many (u,v,w) points can be sampled at once.
The uvw 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 | ( | Matrix< DComplex > & | scale, |
const Matrix< Double > & | uvw, | ||
const Vector< Double > & | frequency | ||
) | const [virtual] |
same as above except with many frequencies
Implements casa::TwoSidedShape.
Definition at line 231 of file LimbDarkenedDiskShape.h.
Double casa::LimbDarkenedDiskShape::itsHeight [private] |
Definition at line 230 of file LimbDarkenedDiskShape.h.
Definition at line 227 of file LimbDarkenedDiskShape.h.
Definition at line 228 of file LimbDarkenedDiskShape.h.
Definition at line 229 of file LimbDarkenedDiskShape.h.