29 #ifndef COMPONENTS_SKYCOMPREP_H
30 #define COMPONENTS_SKYCOMPREP_H
42 class CoordinateSystem;
43 class DirectionCoordinate;
50 class RecordInterface;
53 template <
class Ms>
class MeasRef;
54 template <
class T>
class Cube;
55 template <
class T>
class Vector;
56 template <
class T>
class Quantum;
A model component of the sky brightness.
A Measure: astronomical direction.
virtual const SpectralModel & spectrum() const
See the corresponding functions in the SkyCompBase class for a description of these functions...
virtual void setShape(const ComponentShape &newShape)
std::vector< double > Vector
virtual casacore::Bool toRecord(casacore::String &errorMessage, casacore::RecordInterface &record) const
Convert the class to an Record representation.
Shape
The shapes of all the components.
virtual Flux< casacore::Double > visibility(const casacore::Vector< casacore::Double > &uvw, const casacore::Double &frequency) const
See the corresponding function in the SkyCompBase class for a description of this function...
virtual const ComponentShape & shape() const
See the corresponding functions in the SkyCompBase class for a description of these functions...
casacore::Vector< casacore::Double > toPixel(const casacore::Unit &brightnessUnitOut, const casacore::GaussianBeam &restoringBeam, const casacore::CoordinateSystem &cSys, casacore::Stokes::StokesTypes stokes) const
Convert the SkyComponent to a vector of Doubles for the specified casacore::Stokes type (others are l...
Base class for model components of the sky brightness.
virtual Flux< casacore::Double > sample(const casacore::MDirection &direction, const casacore::MVAngle &pixelLatSize, const casacore::MVAngle &pixelLongSize, const casacore::MFrequency ¢erFrequency) const
See the corresponding function in the SkyCompBase class for a description of this function...
SkyCompRep & operator=(const SkyCompRep &other)
The assignment operator uses copy semantics.
casacore::String itsLabel
ostream-like interface to creating log messages.
Flux< casacore::Double > itsFlux
static casacore::Unit defineBrightnessUnits(casacore::LogIO &os, const casacore::Unit &brightnessUnitIn, const casacore::DirectionCoordinate &dirCoord, const casacore::GaussianBeam &restoringBeam, const casacore::Bool integralIsJy)
Make definitions to handle "/beam" and "/pixel" units.
casacore::Vector< casacore::Double > itsOptParms
static casacore::Quantity integralToPeakFlux(const casacore::DirectionCoordinate &dirCoord, const ComponentType::Shape componentShape, const casacore::Quantity &integralFlux, const casacore::Unit &brightnessUnit, const casacore::Quantity &majorAxis, const casacore::Quantity &minorAxis, const casacore::GaussianBeam &restoringBeam)
Convert an integral flux density to peak flux density.
Represents a Gaussian restoring beam associated with an image.
StokesTypes
The Stokes types are defined by this enum.
A Measure: wave characteristics.
Referenced counted pointer for constant data.
Base class for component shapes.
virtual void setSpectrum(const SpectralModel &newSpectrum)
SkyCompRep()
The default SkyCompRep is a point source with a constant spectrum.
Interconvert pixel positions and directions (e.g. RA/DEC).
static casacore::Double convertToJy(const casacore::Unit &brightnessUnit)
Find the factor that converts whatever per whatevers (e.g.
bool Bool
Define the standard types used by Casacore.
Base class for spectral models.
virtual casacore::Bool isPhysical() const
See the corresponding function in the SkyCompBase class for a description of this function...
static casacore::Quantity peakToIntegralFlux(const casacore::DirectionCoordinate &dirCoord, const ComponentType::Shape componentShape, const casacore::Quantum< casacore::Double > &peakFlux, const casacore::Quantum< casacore::Double > &majorAxis, const casacore::Quantum< casacore::Double > &minorAxis, const casacore::GaussianBeam &restoringBeam)
Convert a peak flux density to integral flux density.
casacore::CountedPtr< SpectralModel > itsSpectrumPtr
virtual const Flux< casacore::Double > & flux() const
See the corresponding functions in the SkyCompBase class for a description of these functions...
virtual casacore::Bool fromRecord(casacore::String &errorMessage, const casacore::RecordInterface &record)
See the corresponding functions in the SkyCompBase class for a description of these functions...
SpectralShape
The different functional forms for the spectral variation.
virtual casacore::Vector< casacore::Double > & optionalParameters()
See the corresponding functions in the SkyCompBase class for a description of these functions...
virtual ~SkyCompRep()
The destructor does not appear to do much.
String: the storage and methods of handling collections of characters.
Abstract base class for Record classes.
virtual casacore::Bool ok() const
See the corresponding function in the SkyCompBase class for a description of this function...
void fromPixel(casacore::Double &fluxRatio, const casacore::Vector< casacore::Double > ¶meters, const casacore::Unit &brightnessUnitIn, const casacore::GaussianBeam &restoringBeam, const casacore::CoordinateSystem &cSys, ComponentType::Shape componentShape, casacore::Stokes::StokesTypes stokes)
Take a vector Doubles and fill the SkyComponent from the values.
virtual casacore::String & label()
See the corresponding functions in the SkyCompBase class for a description of these functions...
Class to handle angle type conversions and I/O.
static void undefineBrightnessUnits()
Remove the user defined "/beam" and "/pixel" definitions.
Interconvert pixel and world coordinates.
casacore::CountedPtr< ComponentShape > itsShapePtr
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.