SkyComponent.h
Classes
- SkyComponent -- A component of a model of the sky (full description)
Interface
- Public Members
- SkyComponent()
- SkyComponent(const ComponentType::Shape & shape)
- SkyComponent(const ComponentType::Shape & shape, const ComponentType::SpectralShape & spectralModel)
- SkyComponent(const Flux<Double> & flux, const ComponentShape & shape, const SpectralModel & spectrum)
- SkyComponent(const SkyComponent & other)
- virtual ~SkyComponent()
- SkyComponent & operator=(const SkyComponent & other)
- virtual Flux<Double> & flux()
- virtual const Flux<Double> & flux() const
- virtual const ComponentShape & shape() const
- virtual ComponentShape & shape()
- virtual void setShape(const ComponentShape & newShape)
- virtual const SpectralModel & spectrum() const
- virtual SpectralModel & spectrum()
- virtual void setSpectrum(const SpectralModel & newSpectrum)
- virtual String & label()
- virtual const String & label() const
- virtual Bool isPhysical() const
- virtual Flux<Double> sample(const MDirection & direction, const MVAngle & pixelLatSize, const MVAngle & pixelLongSize, const MFrequency & centerFrequency) const
- virtual void sample(Cube<Double>& samples, const Unit& reqUnit, const Vector<MVDirection>& directions, const MeasRef<MDirection>& dirRef, const MVAngle& pixelLatSize, const MVAngle& pixelLongSize, const Vector<MVFrequency>& frequencies, const MeasRef<MFrequency>& freqRef) const
- virtual Flux<Double> visibility(const Vector<Double> & uvw, const Double & frequency) const
- virtual void visibility(Cube<DComplex>& visibilities, const Matrix<Double>& uvws, const Matrix<Double>& frequencies) const
- virtual Bool fromRecord(String & errorMessage, const RecordInterface & record)
- virtual Bool toRecord(String & errorMessage, RecordInterface & record) const
- SkyComponent copy() const
- Bool ok() const
- Vector<Double> toPixel (const Unit& brightnessUnitIn, const Vector<Quantum<Double> >& restoringBeam, const CoordinateSystem& cSys, Stokes::StokesTypes stokes) const
- void fromPixel (Double& fluxRatio, const Vector<Double>& parameters, const Unit& brightnessUnitIn, const Vector<Quantum<Double> >& restoringBeam, const CoordinateSystem& cSys, ComponentType::Shape componentShape, Stokes::StokesTypes stokes)
- See Also
- SkyCompRep - Models the sky brightness (copy semantics)
Review Status
- Date Reviewed:
- yyyy/mm/dd
Prerequisite
Synopsis
This class is concrete implementation of a class that represents a component
of a model of the sky brightness.
The base class (SkyCompBase) contains a
description of components and all the member functions used to manipulate
them and hence will not be discussed here. But the base class does not
include any constructors or a description of the copy semantics. This will
be discussed below.
A SkyComponent is an "envelope" class in the sense that it can contain one
of a variety of different component shapes and spectral models. It is
necessary to specify the which shape and spectral model you want at
construction time. This can be done either with enumerators or by
constructing the classes derived from ComponentShape & SpectralModel and
supplying them as construction arguments.
This class uses reference semantics for both the copy constructor and the
assignment operator. Becuase of this the only way to make a true copy of a
SkyComponent is to use the copy member function.
Example
These examples are coded in the tSkyCompRep.h file.
Example 1:
In this example a SkyCompRep object is created and used to calculate the
...
Motivation
Model fitting is an important part of astronomical data
reduction/interpretation. This class defines a model component. Many
components can be strung together (using the ComponentList class) to
construct a model. It is expected that this class will eventually allow you
to solve for parameters of the model.
Thrown Exceptions
- AipsError - If an internal inconsistancy is detected, when compiled in
debug mode only.
To Do
- Add time variability
- Add the ability to solve for component parameters.
Member Description
The default SkyComponent is a point source with a constant spectrum. See
the default constructors in the PointShape, ConstantSpectrum and Flux
classes for the default values for the flux, shape and spectrum.
Construct a SkyCompRep of the specified shape. The resultant component
has a constant spectrum and a shape given by the default constructor of
the specified ComponentShape class.
Construct a SkyCompRep with the user specified model for the shape and
spectrum. The resultant component has a shape given by the default
constructor of the specified ComponentShape class and a spectrum given by
the default constructor of the specified SpectralModel class
Construct a SkyComponent with a fully specified model for the shape,
spectrum and flux.
SkyComponent(const SkyComponent & other)
The copy Constructor uses reference semantics
the destructor does nothing obvious (its all done by the CountedPtr)
SkyComponent & operator=(const SkyComponent & other)
The assignment operator uses reference semantics
virtual Flux<Double> & flux()
virtual const Flux<Double> & flux() const
See the corresponding functions in the
SkyCompBase
class for a description of these functions.
See the corresponding functions in the
SkyCompBase
class for a description of these functions.
See the corresponding functions in the
SkyCompBase
class for a description of these functions.
See the corresponding functions in the
SkyCompBase
class for a description of these functions.
virtual Bool isPhysical() const
See the corresponding function in the
SkyCompBase
class for a description of this function.
virtual Flux<Double> sample(const MDirection & direction, const MVAngle & pixelLatSize, const MVAngle & pixelLongSize, const MFrequency & centerFrequency) const
See the corresponding functions in the
SkyCompBase
class for a description of this function.
See the corresponding function in the
SkyCompBase
class for a description of this function.
virtual Flux<Double> visibility(const Vector<Double> & uvw, const Double & frequency) const
See the corresponding function in the
SkyCompBase
class for a description of this function.
virtual void visibility(Cube<DComplex>& visibilities, const Matrix<Double>& uvws, const Matrix<Double>& frequencies) const
See the corresponding function in the
SkyCompBase
class for a description of this function.
virtual Bool fromRecord(String & errorMessage, const RecordInterface & record)
virtual Bool toRecord(String & errorMessage, RecordInterface & record) const
See the corresponding functions in the
SkyCompBase
class for a description of these functions.
SkyComponent copy() const
Return a distinct copy of this component. As both the assignment operator
and the copy constructor use reference semantics this is the only way to
get a real copy.
Bool ok() const
See the corresponding functions in the
SkyCompBase
class for a description of this function.
Vector<Double> toPixel (const Unit& brightnessUnitIn, const Vector<Quantum<Double> >& restoringBeam, const CoordinateSystem& cSys, Stokes::StokesTypes stokes) const
void fromPixel (Double& fluxRatio, const Vector<Double>& parameters, const Unit& brightnessUnitIn, const Vector<Quantum<Double> >& restoringBeam, const CoordinateSystem& cSys, ComponentType::Shape componentShape, Stokes::StokesTypes stokes)
Convert from and to pixel vectors. See the SkyCompRep class for details.