29 #ifndef SYNTHESIS_PBMATH_H
30 #define SYNTHESIS_PBMATH_H
50 class RecordInterface;
51 class CoordinateSystem;
static casacore::Bool getMDirection(const casacore::RecordInterface &rec, const casacore::String &item, casacore::MDirection &returnedMDirection)
casacore::ImageInterface< casacore::Complex > & applyVP(const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Bool inverse=false, casacore::Bool conjugate=false, casacore::Float cutoff=0.01, casacore::Bool forward=true)
copy() returns a copy of the PBMath PBMath copy() const;
A Measure: astronomical direction.
CommonPB
This enumeration provides a simple way to instantiate the common primary beam models.
static void nameCommonPB(const PBMath::CommonPB iPB, casacore::String &str)
converts the enumrated type into a string
casacore::Bool operator==(const PBMath &other) const
comparison operator: just checks that the objects are same (could have two different objects with ide...
encapsulates beam squint (RR and LL beams at different directions)
static void whichCommonPBtoUse(casacore::String &telescope, casacore::Quantity &freq, casacore::String &band, PBMath::CommonPB &whichPB, casacore::String &pbName)
given the Telescope name and the frequency, guess the most approrpiate CommonPB primary beam type and...
static void enumerateCommonPB(const casacore::String &str, PBMath::CommonPB &ipb)
converts the PB casacore::String into an enumrated type
Primary beam envelope class, derived from PBMathInterface.
SquintType
Allowed Squints: NONE = no squint: PB is centered on the pointing center RR = PB is shifted from poin...
ABSTRACT CLASSES Abstract class for colors Any implementation of color should be able to provide a hexadecimal form of the if a human readable name(i.e."black").In many places throughout the plotter
PBClass
Allowed PBMath Classes.
PBMathInterface::PBClass whichPBClass()
Get the type of PB this is.
void initByTelescope(PBMath::CommonPB myPBType, casacore::Bool useSymmetricBeam=false, casacore::Double frequency=0.0)
casacore::Function to initialize the state of the tool
casacore::ImageRegion * extent(const casacore::ImageInterface< casacore::Complex > &im, const casacore::MDirection &pointing, const casacore::Int row, const casacore::Float fPad, const casacore::Int iChan, const SkyJones::SizeType)
Get the BLC, TRC of the primary beam on an Image for a given pointing Note: BLC and TRC are not neces...
casacore::ImageInterface< casacore::Complex > & apply(const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle, const BeamSquint::SquintType doSquint, casacore::Bool inverse, casacore::Bool conjugate, casacore::Int ipower, casacore::Float cutoff=0.01, casacore::Bool forward=true)
Gradient stuff: this needs more thought, as it is not really connected with the stuff in VPSkyJones a...
casacore::ImageInterface< casacore::Float > & applyPB2(const casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Float > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Float cutoff=0.01)
Referenced counted pointer for constant data.
PBMath()
Default constructor, required for casacore::Block<PBMath>
casacore::Matrix< T > inverse(const casacore::Matrix< T > &A)
PBMath & operator=(const PBMath &other)
operator= returns a reference to the PBMath; reference counted pointer
void namePBClass(casacore::String &name)
gives the name of the PB Class that has been used
casacore::CountedPtr< PBMathInterface > pb_pointer_p
casacore::Bool getUseSymmetric()
Get value of useSymmetric.
bool Bool
Define the standard types used by Casacore.
virtual ~PBMath()
destructor
Class to hold a region of interest in an image.
void initByDiameter(casacore::Double diam, casacore::Bool useSymmetricBeam, casacore::Double freq)
casacore::Function to initialize the by dish diameter
void setUseSymmetric(casacore::Bool useSym=true)
Fit an azimuthally symmetric beam to the squinted or otherwise 2-D beam for casacore::Stokes I...
A component of a model of the sky.
static PBMathInterface * pbMathInterfaceForCommonPB(const PBMath::CommonPB ipb, bool useSymmetricBeam)
return a PBMathInteface for a commonPB ; caller needs to delete pointer
String: the storage and methods of handling collections of characters.
Virtual base class defining the Primary Beam interface.
Abstract base class for Record classes.
Matrix< casacore::Complex > conjugate(const casacore::Matrix< casacore::Complex > &A)
complex space function specifications
virtual casacore::Int support(const casacore::CoordinateSystem &cs)
static casacore::Bool getQuantity(const casacore::RecordInterface &rec, const casacore::String &item, casacore::Quantity &returnedQuantity)
These should probably move to casacore::RecordInterface when we are happy with their performance...
casacore::Bool ok() const
Is the state of the PBMath OK?
casacore::ImageInterface< casacore::Complex > & applyPB(const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Bool inverse=false, casacore::Float cutoff=0.01, casacore::Bool forward=true)
casacore::Bool operator!=(const PBMath &other) const
comparison operator: just checks that the objects are different (could have two different objects wit...
Interconvert pixel and world coordinates.
void summary(casacore::Int nValues=0)
Summarize the Voltage Pattern;.
static PBMathInterface * pbMathInterfaceFromRecord(const casacore::RecordInterface &rec)
return a PBMathInteface from a Vpmanager record ; caller needs to delete pointer
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.