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

Base class for component shapes. More...

#include <ComponentShape.h>

Inheritance diagram for casa::ComponentShape:
casacore::RecordTransformable casa::PointShape casa::TwoSidedShape casa::DiskShape casa::GaussianShape casa::LimbDarkenedDiskShape

Public Member Functions

virtual ~ComponentShape ()
 
virtual ComponentType::Shape type () const =0
 
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)
 
virtual casacore::Double sample (const casacore::MDirection &direction, const casacore::MVAngle &pixelLatSize, const casacore::MVAngle &pixelLongSize) const =0
 
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 =0
 
virtual casacore::DComplex visibility (const casacore::Vector< casacore::Double > &uvw, const casacore::Double &frequency) const =0
 
virtual void visibility (casacore::Vector< casacore::DComplex > &scale, const casacore::Matrix< casacore::Double > &uvw, const casacore::Double &frequency) const =0
 
virtual void visibility (casacore::Matrix< casacore::DComplex > &scale, const casacore::Matrix< casacore::Double > &uvw, const casacore::Vector< casacore::Double > &frequency) const =0
 
virtual casacore::Bool isSymmetric () const =0
 
virtual ComponentShapeclone () const =0
 
virtual casacore::uInt nParameters () const =0
 
virtual void setParameters (const casacore::Vector< casacore::Double > &newParms)=0
 
virtual casacore::Vector
< casacore::Double
parameters () const =0
 
virtual void setErrors (const casacore::Vector< casacore::Double > &newErrs)=0
 
virtual casacore::Vector
< casacore::Double
errors () const =0
 
virtual casacore::Vector
< casacore::Double
optParameters () const =0
 
virtual void setOptParameters (const casacore::Vector< casacore::Double > &newOptParms)=0
 
virtual casacore::Bool fromRecord (casacore::String &errorMessage, const casacore::RecordInterface &record)=0
 Initialise the class from a Record representation. More...
 
virtual casacore::Bool toRecord (casacore::String &errorMessage, casacore::RecordInterface &record) const =0
 Convert the class to an Record representation. More...
 
virtual casacore::Bool convertUnit (casacore::String &errorMessage, const casacore::RecordInterface &record)=0
 
virtual casacore::Vector
< casacore::Double
toPixel (const casacore::DirectionCoordinate &dirCoord) const
 
virtual casacore::Bool fromPixel (const casacore::Vector< casacore::Double > &parameters, const casacore::DirectionCoordinate &dirCoord)
 
virtual casacore::Bool ok () const
 
virtual const ComponentShapegetPtr () const =0
 
virtual casacore::String sizeToString () const =0
 
- 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...
 

Static Public Member Functions

static ComponentType::Shape getType (casacore::String &errorMessage, const casacore::RecordInterface &record)
 

Protected Member Functions

 ComponentShape ()
 
 ComponentShape (const casacore::MDirection &direction)
 
 ComponentShape (const ComponentShape &other)
 
ComponentShapeoperator= (const ComponentShape &other)
 

Static Protected Member Functions

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)
 

Private Attributes

casacore::MDirection itsDir
 
casacore::Quantum
< casacore::Double
itsDirErrLat
 
casacore::Quantum
< casacore::Double
itsDirErrLong
 

Detailed Description

Base class for component shapes.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd
Test programs:
tComponentShape
Demo programs:
dPointShape

Prerequisite

Synopsis

This abstract base class defines the interface for classes which define the shape of a component. The most fundamental derived class is the point shape class but the Gaussian shape, disk shape and

limbdarkeneddisk classes are also available. These classes model the spatial distribution of emission from the sky. Classes derived from the casacore::SpectralModel SpectralModel class are used to model the spectral characteristics and the Flux class is used to model the flux. The

SkyComponent class incorporates these three characteristics (flux, shape & spectrum) and the

ComponentList class handles groups of SkyComponent objects. This base class parameterises shapes with two quantities.

A reference direction.
This is specified using an

Definition at line 143 of file ComponentShape.h.

Constructor & Destructor Documentation

virtual casa::ComponentShape::~ComponentShape ( )
virtual
casa::ComponentShape::ComponentShape ( )
protected
casa::ComponentShape::ComponentShape ( const casacore::MDirection direction)
protected
casa::ComponentShape::ComponentShape ( const ComponentShape other)
protected

Member Function Documentation

static casacore::Bool casa::ComponentShape::badError ( const casacore::Quantum< casacore::Double > &  quantum)
staticprotected
virtual ComponentShape* casa::ComponentShape::clone ( ) const
pure virtual
virtual casacore::Bool casa::ComponentShape::convertUnit ( casacore::String errorMessage,
const casacore::RecordInterface record 
)
pure virtual

Implemented in casa::TwoSidedShape, and casa::PointShape.

void casa::ComponentShape::copyDirectionInfo ( const ComponentShape that)
static casacore::Bool casa::ComponentShape::differentRefs ( const casacore::MeasRef< casacore::MDirection > &  ref1,
const casacore::MeasRef< casacore::MDirection > &  ref2 
)
staticprotected
virtual casacore::Vector<casacore::Double> casa::ComponentShape::errors ( ) const
pure virtual

Implemented in casa::TwoSidedShape, and casa::PointShape.

static casacore::Bool casa::ComponentShape::fromAngQRecord ( casacore::Quantum< casacore::Double > &  returnValue,
casacore::String errorMessage,
const casacore::String fieldString,
const casacore::RecordInterface record 
)
staticprotected
virtual casacore::Bool casa::ComponentShape::fromPixel ( const casacore::Vector< casacore::Double > &  parameters,
const casacore::DirectionCoordinate dirCoord 
)
virtual

Reimplemented in casa::TwoSidedShape.

virtual casacore::Bool casa::ComponentShape::fromRecord ( casacore::String error,
const casacore::RecordInterface inRecord 
)
pure virtual

Initialise the class from a Record representation.

The input record should contain the fields that are required by the class. Other fields will be ignored. If the transformation succeeds then the error String is unchanged and the function returns True. Otherwise the function returns False and appends an error message to the supplied String giving the reason why the conversion failed.

Implements casacore::RecordTransformable.

Implemented in casa::TwoSidedShape, and casa::PointShape.

virtual const ComponentShape* casa::ComponentShape::getPtr ( ) const
pure virtual
static ComponentType::Shape casa::ComponentShape::getType ( casacore::String errorMessage,
const casacore::RecordInterface record 
)
static
virtual const casacore::String& casa::ComponentShape::ident ( ) const
virtual

Specify the identification of the record (e.g.

'meas', 'quant'). The default implementation returns a empty string.

Reimplemented from casacore::RecordTransformable.

virtual casacore::Bool casa::ComponentShape::isSymmetric ( ) const
pure virtual

Implemented in casa::TwoSidedShape, and casa::PointShape.

virtual casacore::uInt casa::ComponentShape::nParameters ( ) const
pure virtual

Implemented in casa::TwoSidedShape, and casa::PointShape.

virtual casacore::Bool casa::ComponentShape::ok ( ) const
virtual
ComponentShape& casa::ComponentShape::operator= ( const ComponentShape other)
protected
virtual casacore::Vector<casacore::Double> casa::ComponentShape::optParameters ( ) const
pure virtual
virtual casacore::Vector<casacore::Double> casa::ComponentShape::parameters ( ) const
pure virtual

Implemented in casa::TwoSidedShape, and casa::PointShape.

const casacore::MDirection& casa::ComponentShape::refDirection ( ) const
const casacore::Quantum<casacore::Double>& casa::ComponentShape::refDirectionErrorLat ( ) const
const casacore::Quantum<casacore::Double>& casa::ComponentShape::refDirectionErrorLong ( ) const
virtual casacore::Double casa::ComponentShape::sample ( const casacore::MDirection direction,
const casacore::MVAngle pixelLatSize,
const casacore::MVAngle pixelLongSize 
) const
pure virtual
virtual void casa::ComponentShape::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
pure virtual
virtual void casa::ComponentShape::setErrors ( const casacore::Vector< casacore::Double > &  newErrs)
pure virtual

Implemented in casa::TwoSidedShape, and casa::PointShape.

virtual void casa::ComponentShape::setOptParameters ( const casacore::Vector< casacore::Double > &  newOptParms)
pure virtual
virtual void casa::ComponentShape::setParameters ( const casacore::Vector< casacore::Double > &  newParms)
pure virtual

Implemented in casa::TwoSidedShape, and casa::PointShape.

void casa::ComponentShape::setRefDirection ( const casacore::MDirection newRefDir)
void casa::ComponentShape::setRefDirectionError ( const casacore::Quantum< casacore::Double > &  newRefDirErrLat,
const casacore::Quantum< casacore::Double > &  newRefDirErrLong 
)
virtual casacore::String casa::ComponentShape::sizeToString ( ) const
pure virtual
virtual casacore::Vector<casacore::Double> casa::ComponentShape::toPixel ( const casacore::DirectionCoordinate dirCoord) const
virtual

Reimplemented in casa::TwoSidedShape.

virtual casacore::Bool casa::ComponentShape::toRecord ( casacore::String error,
casacore::RecordInterface outRecord 
) const
pure virtual

Convert the class to an Record representation.

The input record may already contain fields and these fields may be silently overridden. New fields may be added to the input Record. If the transformation succeeds then the error String is unchanged and the function returns True. Otherwise the function returns False and appends an error message to the supplied String giving the reason why the conversion failed.

Implements casacore::RecordTransformable.

Implemented in casa::TwoSidedShape, and casa::PointShape.

virtual ComponentType::Shape casa::ComponentShape::type ( ) const
pure virtual
virtual casacore::DComplex casa::ComponentShape::visibility ( const casacore::Vector< casacore::Double > &  uvw,
const casacore::Double frequency 
) const
pure virtual
virtual void casa::ComponentShape::visibility ( casacore::Vector< casacore::DComplex > &  scale,
const casacore::Matrix< casacore::Double > &  uvw,
const casacore::Double frequency 
) const
pure virtual
virtual void casa::ComponentShape::visibility ( casacore::Matrix< casacore::DComplex > &  scale,
const casacore::Matrix< casacore::Double > &  uvw,
const casacore::Vector< casacore::Double > &  frequency 
) const
pure virtual

Member Data Documentation

casacore::MDirection casa::ComponentShape::itsDir
private

Definition at line 341 of file ComponentShape.h.

casacore::Quantum<casacore::Double> casa::ComponentShape::itsDirErrLat
private

Definition at line 343 of file ComponentShape.h.

casacore::Quantum<casacore::Double> casa::ComponentShape::itsDirErrLong
private

Definition at line 344 of file ComponentShape.h.


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