29 #ifndef SYNTHESIS_PBMATH1D_H
30 #define SYNTHESIS_PBMATH1D_H
39 class CoordinateSystem;
282 void applyXLine(
const casacore::Complex*& in,
casacore::Complex*& out,
casacore::Float*& rx2,
casacore::Complex*& vp,
const casacore::Float ry2,
const casacore::Int ipower,
const casacore::Bool conjugate,
const casacore::Bool inverse,
const casacore::Bool forward,
const casacore::Int nx,
const casacore::Int iy,
const casacore::Double rmax2,
const casacore::Double factor,
const casacore::Double inverseIncrementRadius,
const casacore::Float cutoff);
A Vector of integers, for indexing into Array<T> objects.
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, casacore::Bool forward)
lower level helping apply methods
A Measure: astronomical direction.
virtual casacore::Int support(const casacore::CoordinateSystem &cs)
casacore::CompositeNumber composite_p
casacore::CompositeNumber (for beam application and the like)
casacore::Quantity maximumRadius_p
Maximum radius allowed in tabulated model.
encapsulates beam squint (RR and LL beams at different directions)
base class for 1D PBMath objects
std::complex< Float > Complex
This class generates composite numbers.
casacore::Double scale_p
Scale to convert to tabulated units.
casacore::Vector< casacore::Complex > esvp_p
Tabulated effective az-symmetrical voltage pattern (optional, depending upon useSymmetric_p) ...
void refineSize(casacore::Vector< casacore::Float > &blc, casacore::Vector< casacore::Float > &trc, const casacore::IPosition &shape, SkyJones::SizeType)
push blc lower, trc higher such that they define an image which is a power of 2 in size...
void extentguts(const casacore::CoordinateSystem &coords, const casacore::MDirection &pointing, const casacore::Float fPad, const casacore::Int iChan, casacore::Vector< casacore::Float > &blc, casacore::Vector< casacore::Float > &trc)
calculate the limited box of the Primary Beam model's support, return in blc and trc (which are NOT c...
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...
void viewPB(casacore::Vector< casacore::Float > &r, casacore::Vector< casacore::Float > &PB, casacore::Int n_elements, const casacore::Double freq=1.0e9)
Get the PB in a vector to look at Concerning n_elements: they are evenly spaced between 0 and maxradi...
void symmetrizeSquintedBeam()
Helper method to fit a circularly symmetric beam to the squinted RR + LL beam.
casacore::Vector< casacore::Double > wFreqs_p
Wideband beam fit frequencies.
casacore::Double inverseIncrementRadius_p
Increment in radius.
casacore::Matrix< T > inverse(const casacore::Matrix< T > &A)
casacore::Bool wideFit_p
Switch to use wideband beam fits.
virtual void summary(casacore::Int nValues=0)
Summarize the Voltage Pattern; For PBMath1D, list nValues worth of the VP array.
For wideband beams fill the tabulated vp_p by the interpolated beam at the freq *virtual void nearestVPArray(double freq, bool printINFO=true)
void applyXLine(const casacore::Complex *&in, casacore::Complex *&out, casacore::Float *&rx2, casacore::Complex *&vp, const casacore::Float ry2, const casacore::Int ipower, const casacore::Bool conjugate, const casacore::Bool inverse, const casacore::Bool forward, const casacore::Int nx, const casacore::Int iy, const casacore::Double rmax2, const casacore::Double factor, const casacore::Double inverseIncrementRadius, const casacore::Float cutoff)
virtual casacore::Bool ok()
Is state of PBMath OK?
bool Bool
Define the standard types used by Casacore.
virtual void fillPBArray()=0
Fill in PB_p array from construction parameters, rescale construction parameters to the 1 GHz interna...
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
Class to hold a region of interest in an image.
PBMath1D()
Protect default constructor: this will do you no good.
A component of a model of the sky.
casacore::Double fScale_p
internal scaling from refFreq_p to 1GHz; used during construction
casacore::Quantity refFreq_p
reference frequency: used for squint and other beam paramaters such as width, found in derived types...
casacore::Matrix< casacore::Complex > wbvp_p
Tabulated voltage pattern for wide band feed First axis is radius, 2nd axis is frequency.
Virtual base class defining the Primary Beam interface.
casacore::ImageRegion * extent(const casacore::ImageInterface< casacore::Complex > &in, const casacore::MDirection &pointing, const casacore::Int irow, const casacore::Float fPad, const casacore::Int iChan, const SkyJones::SizeType sizeType)
Get the casacore::ImageRegion of the primary beam on an Image for a given pointing Note: casacore::Im...
casacore::Vector< casacore::Complex > vp_p
The parameterized representation is for the VP, not the PB.
Matrix< casacore::Complex > conjugate(const casacore::Matrix< casacore::Complex > &A)
complex space function specifications
Interconvert pixel and world coordinates.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.