29 #ifndef SYNTHESIS_BEAMCALC_H
30 #define SYNTHESIS_BEAMCALC_H
239 s =
sqrt(v[0]*v[0] + v[1]*v[1] + v[2]*v[2]);
casacore::uInt BeamCalc_NumBandCodes_p
casacore::Double dOmega(const calcAntenna *a, const Ray *ray1, const Ray *ray2, const Ray *ray3, const Pathology *p)
A 1-D Specialization of the Array class.
void Pathologize(casacore::Double *sub, const Pathology *p)
static const casacore::Double INCH_METER
casacore::Int legsphericalwaveblock(const calcAntenna *a, const Ray *ray)
casacore::Int getBandID(const casacore::Double freq, const casacore::String &obsname, const casacore::String &bandName, const casacore::String &antennaType="STANDARD", const casacore::MEpoch &obsTime=casacore::MEpoch(casacore::Quantity(50000.,"d")), const casacore::String &otherAntRayPath="")
void normvec(const casacore::Double *a, const casacore::Double *b, casacore::Double *c)
casacore::Double ALMABandMaxFreqDefaults[ALMABeamCalc_NumBandCodes]
casacore::Int Antennasetfeedpattern(calcAntenna *a, const char *filename, casacore::Double scale)
static const casacore::Double RAD_DEG
static const casacore::Double NS_METER
void Efield(const calcAntenna *a, const casacore::Complex *pol, casacore::Complex *E)
std::complex< Float > Complex
calcAntenna * newAntennafromApertureCalcParams(ApertureCalcParams *ap)
casacore::Double feedfunc(const calcAntenna *a, casacore::Double theta)
void deletePathology(Pathology *P)
casacore::Int dishfromsub(const calcAntenna *a, casacore::Double x, casacore::Double y, casacore::Double *dishpoint)
casacore::Int legplanewaveblock(const calcAntenna *a, casacore::Double x, casacore::Double y)
void getfeedbasis(const calcAntenna *a, casacore::Double B[3][3])
void setBeamCalcGeometries(const casacore::String &obsName, const casacore::String &antennaType="STANDARD", const casacore::MEpoch &obsTime=casacore::MEpoch(casacore::Quantity(50000.,"d")), const casacore::String &otherAntRayPath="")
static const casacore::Double METER_INCH
casacore::Int legplanewaveblock2(const calcAntenna *a, const Ray *ray)
casacore::String antType_p
casacore::Double legthick
casacore::String obsName_p
Pathology * newPathologyfromApertureCalcParams(ApertureCalcParams *ap)
Ray * trace(const calcAntenna *a, casacore::Double x, casacore::Double y, const Pathology *p)
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
Pathology * newPathology()
void deleteAntenna(calcAntenna *a)
A Measure: instant in time.
void Antennasetdir(calcAntenna *a, const casacore::Double *dir)
casacore::Double VLABandMaxFreqDefaults[VLABeamCalc_NumBandCodes]
casacore::Double astigm_0
void Antennasetfreq(calcAntenna *a, casacore::Double freq)
casacore::Int calculateApertureLinPol(ApertureCalcParams *ap, const casacore::Int &whichStokes)
casacore::Double el_offset
void computePixelValuesLinPol(const ApertureCalcParams *ap, const calcAntenna *a, const Pathology *p, const casacore::Double &L0, casacore::Complex *Ex, casacore::Complex *Ey, const casacore::Int &i, const casacore::Int &j, const casacore::Int &whichStokes)
casacore::String antRespPath_p
static const casacore::Double METER_NS
casacore::Double az_offset
casacore::Double ALMABandMinFreqDefaults[ALMABeamCalc_NumBandCodes]
casacore::Double bestparabola
casacore::Double legwidth
void applyPathology(Pathology *P, calcAntenna *a)
static BeamCalc * Instance()
This is a SINGLETON class.
LatticeExprNode sqrt(const LatticeExprNode &expr)
casacore::Vector< BeamCalcGeometry > BeamCalcGeometries_p
casacore::Double astigm_45
void computePixelValues(const ApertureCalcParams *ap, const calcAntenna *a, const Pathology *p, const casacore::Double &L0, casacore::Complex *Er, casacore::Complex *El, const casacore::Int &i, const casacore::Int &j)
casacore::Vector< casacore::Double > bandMinFreq_p
casacore::Double subangle
casacore::TempImage< casacore::Complex > * aperture
void alignfeed(calcAntenna *a, const Pathology *p)
sets feeddir after pathology is considered
casacore::MEpoch obsTime_p
void printAntenna(const calcAntenna *a)
casacore::Int calculateAperture(ApertureCalcParams *ap)
calcAntenna * newAntenna(casacore::Double sub_h, casacore::Double feed_x, casacore::Double feed_y, casacore::Double feed_z, casacore::Double ftaper, casacore::Double thmax, const char *geomfile)
casacore::Double legwidth
casacore::Double Raylen(const Ray *ray)
void intersectaperture(const calcAntenna *a, const casacore::Double *dish, const casacore::Double *unitdir, casacore::Double *aper)
BeamCalcGeometry ALMABeamCalcGeometryDefaults[ALMABeamCalc_NumBandCodes]
casacore::Double legfootz
casacore::Double feedgain(const calcAntenna *a, const Ray *ray, const Pathology *p)
casacore::Double hole_radius
BeamCalcGeometry EVLABeamCalcGeometryDefaults[EVLABeamCalc_NumBandCodes]
casacore::Int subfromdish(const calcAntenna *a, casacore::Double x, casacore::Double y, casacore::Double *subpoint)
Returns position of subreflector piece (x, y, z) and its normal (u, v, w)
const Double c
Fundamental physical constants (SI units):
casacore::Double EVLABandMaxFreqDefaults[EVLABeamCalc_NumBandCodes]
String: the storage and methods of handling collections of characters.
casacore::Double EVLABandMinFreqDefaults[EVLABeamCalc_NumBandCodes]
casacore::Double astigm_45
casacore::Double VLABandMinFreqDefaults[VLABeamCalc_NumBandCodes]
void norm3(casacore::Double *v)
normalizes a "vector" of 3 Doubles in the vector sense
casacore::Double dAdOmega(const calcAntenna *a, const Ray *ray1, const Ray *ray2, const Ray *ray3, const Pathology *p)
Ray * newRay(const casacore::Double *sub)
BeamCalcGeometry VLABeamCalcGeometryDefaults[VLABeamCalc_NumBandCodes]
static const casacore::Double DEG_RAD
casacore::Int dishvalue(const calcAntenna *a, casacore::Double r, casacore::Double *z, casacore::Double *m)
void tracepol(casacore::Complex *E0, const Ray *ray, casacore::Complex *E1)
casacore::Double astigm_0
static BeamCalc * instance_p
void intersectdish(const calcAntenna *a, const casacore::Double *sub, const casacore::Double *unitdir, casacore::Double *dish, casacore::Int niter)
casacore::Int astigdishvalue(const calcAntenna *a, casacore::Double x, casacore::Double y, casacore::Double *z, casacore::Double *m)
casacore::Double phase_offset
void copyBeamCalcGeometry(BeamCalcGeometry *to, BeamCalcGeometry *from)
casacore::Vector< casacore::Double > bandMaxFreq_p