#include <BeamCalc.h>
Public Member Functions | |
void | setBeamCalcGeometries (const String &obsName, const String &antennaType="STANDARD", const MEpoch &obsTime=MEpoch(Quantity(50000.,"d")), const String &otherAntRayPath="") |
Int | getBandID (const Double freq, const String &obsname, const String &antennaType="STANDARD", const MEpoch &obsTime=MEpoch(Quantity(50000.,"d")), const String &otherAntRayPath="") |
Int | calculateAperture (ApertureCalcParams *ap) |
Int | calculateAperture (ApertureCalcParams *ap, const Int &whichStokes) |
Int | calculateApertureLinPol (ApertureCalcParams *ap, const Int &whichStokes) |
Static Public Member Functions | |
static BeamCalc * | Instance () |
This is a SINGLETON class. | |
Protected Member Functions | |
BeamCalc () | |
Private Member Functions | |
void | computePixelValues (const ApertureCalcParams *ap, const calcAntenna *a, const Pathology *p, const Double &L0, Complex *Er, Complex *El, const Int &i, const Int &j) |
void | computePixelValues (const ApertureCalcParams *ap, const calcAntenna *a, const Pathology *p, const Double &L0, Complex *Er, Complex *El, const Int &i, const Int &j, const Int &whichStokes) |
void | computePixelValuesLinPol (const ApertureCalcParams *ap, const calcAntenna *a, const Pathology *p, const Double &L0, Complex *Ex, Complex *Ey, const Int &i, const Int &j, const Int &whichStokes) |
void | norm3 (Double *v) |
normalizes a "vector" of 3 Doubles in the vector sense | |
calcAntenna * | newAntenna (Double sub_h, Double feed_x, Double feed_y, Double feed_z, Double ftaper, Double thmax, const char *geomfile) |
void | deleteAntenna (calcAntenna *a) |
void | Antennasetfreq (calcAntenna *a, Double freq) |
void | Antennasetdir (calcAntenna *a, const Double *dir) |
void | alignfeed (calcAntenna *a, const Pathology *p) |
sets feeddir after pathology is considered | |
void | getfeedbasis (const calcAntenna *a, Double B[3][3]) |
void | Efield (const calcAntenna *a, const Complex *pol, Complex *E) |
Int | Antennasetfeedpattern (calcAntenna *a, const char *filename, Double scale) |
calcAntenna * | newAntennafromApertureCalcParams (ApertureCalcParams *ap) |
Int | dishvalue (const calcAntenna *a, Double r, Double *z, Double *m) |
Int | astigdishvalue (const calcAntenna *a, Double x, Double y, Double *z, Double *m) |
Int | subfromdish (const calcAntenna *a, Double x, Double y, Double *subpoint) |
Returns position of subreflector piece (x, y, z) and its normal (u, v, w). | |
Int | dishfromsub (const calcAntenna *a, Double x, Double y, Double *dishpoint) |
void | printAntenna (const calcAntenna *a) |
Ray * | newRay (const Double *sub) |
void | deleteRay (Ray *ray) |
Pathology * | newPathology () |
Pathology * | newPathologyfromApertureCalcParams (ApertureCalcParams *ap) |
void | deletePathology (Pathology *P) |
void | normvec (const Double *a, const Double *b, Double *c) |
Double | dAdOmega (const calcAntenna *a, const Ray *ray1, const Ray *ray2, const Ray *ray3, const Pathology *p) |
Double | dOmega (const calcAntenna *a, const Ray *ray1, const Ray *ray2, const Ray *ray3, const Pathology *p) |
Double | Raylen (const Ray *ray) |
void | Pathologize (Double *sub, const Pathology *p) |
void | applyPathology (Pathology *P, calcAntenna *a) |
void | intersectdish (const calcAntenna *a, const Double *sub, const Double *unitdir, Double *dish, Int niter) |
void | intersectaperture (const calcAntenna *a, const Double *dish, const Double *unitdir, Double *aper) |
Double | feedfunc (const calcAntenna *a, Double theta) |
Double | feedgain (const calcAntenna *a, const Ray *ray, const Pathology *p) |
Ray * | trace (const calcAntenna *a, Double x, Double y, const Pathology *p) |
void | tracepol (Complex *E0, const Ray *ray, Complex *E1) |
Int | legplanewaveblock (const calcAntenna *a, Double x, Double y) |
Int | legplanewaveblock2 (const calcAntenna *a, const Ray *ray) |
Int | legsphericalwaveblock (const calcAntenna *a, const Ray *ray) |
void | copyBeamCalcGeometry (BeamCalcGeometry *to, BeamCalcGeometry *from) |
Private Attributes | |
String | obsName_p |
String | antType_p |
MEpoch | obsTime_p |
uInt | BeamCalc_NumBandCodes_p |
Vector< BeamCalcGeometry > | BeamCalcGeometries_p |
Vector< Double > | bandMinFreq_p |
Vector< Double > | bandMaxFreq_p |
String | antRespPath_p |
Static Private Attributes | |
static BeamCalc * | instance_p |
static const Double | METER_INCH |
static const Double | INCH_METER |
static const Double | NS_METER |
static const Double | METER_NS |
static const Double | DEG_RAD |
static const Double | RAD_DEG |
Definition at line 191 of file BeamCalc.h.
casa::BeamCalc::BeamCalc | ( | ) | [protected] |
void casa::BeamCalc::alignfeed | ( | calcAntenna * | a, | |
const Pathology * | p | |||
) | [private] |
sets feeddir after pathology is considered
void casa::BeamCalc::Antennasetdir | ( | calcAntenna * | a, | |
const Double * | dir | |||
) | [private] |
Int casa::BeamCalc::Antennasetfeedpattern | ( | calcAntenna * | a, | |
const char * | filename, | |||
Double | scale | |||
) | [private] |
void casa::BeamCalc::Antennasetfreq | ( | calcAntenna * | a, | |
Double | freq | |||
) | [private] |
void casa::BeamCalc::applyPathology | ( | Pathology * | P, | |
calcAntenna * | a | |||
) | [private] |
Int casa::BeamCalc::astigdishvalue | ( | const calcAntenna * | a, | |
Double | x, | |||
Double | y, | |||
Double * | z, | |||
Double * | m | |||
) | [private] |
Int casa::BeamCalc::calculateAperture | ( | ApertureCalcParams * | ap, | |
const Int & | whichStokes | |||
) |
Int casa::BeamCalc::calculateAperture | ( | ApertureCalcParams * | ap | ) |
Int casa::BeamCalc::calculateApertureLinPol | ( | ApertureCalcParams * | ap, | |
const Int & | whichStokes | |||
) |
void casa::BeamCalc::computePixelValues | ( | const ApertureCalcParams * | ap, | |
const calcAntenna * | a, | |||
const Pathology * | p, | |||
const Double & | L0, | |||
Complex * | Er, | |||
Complex * | El, | |||
const Int & | i, | |||
const Int & | j, | |||
const Int & | whichStokes | |||
) | [private] |
void casa::BeamCalc::computePixelValues | ( | const ApertureCalcParams * | ap, | |
const calcAntenna * | a, | |||
const Pathology * | p, | |||
const Double & | L0, | |||
Complex * | Er, | |||
Complex * | El, | |||
const Int & | i, | |||
const Int & | j | |||
) | [private] |
void casa::BeamCalc::computePixelValuesLinPol | ( | const ApertureCalcParams * | ap, | |
const calcAntenna * | a, | |||
const Pathology * | p, | |||
const Double & | L0, | |||
Complex * | Ex, | |||
Complex * | Ey, | |||
const Int & | i, | |||
const Int & | j, | |||
const Int & | whichStokes | |||
) | [private] |
void casa::BeamCalc::copyBeamCalcGeometry | ( | BeamCalcGeometry * | to, | |
BeamCalcGeometry * | from | |||
) | [private] |
Double casa::BeamCalc::dAdOmega | ( | const calcAntenna * | a, | |
const Ray * | ray1, | |||
const Ray * | ray2, | |||
const Ray * | ray3, | |||
const Pathology * | p | |||
) | [private] |
void casa::BeamCalc::deleteAntenna | ( | calcAntenna * | a | ) | [private] |
void casa::BeamCalc::deletePathology | ( | Pathology * | P | ) | [private] |
void casa::BeamCalc::deleteRay | ( | Ray * | ray | ) | [private] |
Int casa::BeamCalc::dishfromsub | ( | const calcAntenna * | a, | |
Double | x, | |||
Double | y, | |||
Double * | dishpoint | |||
) | [private] |
Int casa::BeamCalc::dishvalue | ( | const calcAntenna * | a, | |
Double | r, | |||
Double * | z, | |||
Double * | m | |||
) | [private] |
Double casa::BeamCalc::dOmega | ( | const calcAntenna * | a, | |
const Ray * | ray1, | |||
const Ray * | ray2, | |||
const Ray * | ray3, | |||
const Pathology * | p | |||
) | [private] |
void casa::BeamCalc::Efield | ( | const calcAntenna * | a, | |
const Complex * | pol, | |||
Complex * | E | |||
) | [private] |
Double casa::BeamCalc::feedfunc | ( | const calcAntenna * | a, | |
Double | theta | |||
) | [private] |
Double casa::BeamCalc::feedgain | ( | const calcAntenna * | a, | |
const Ray * | ray, | |||
const Pathology * | p | |||
) | [private] |
Int casa::BeamCalc::getBandID | ( | const Double | freq, | |
const String & | obsname, | |||
const String & | antennaType = "STANDARD" , |
|||
const MEpoch & | obsTime = MEpoch(Quantity(50000.,"d")) , |
|||
const String & | otherAntRayPath = "" | |||
) |
void casa::BeamCalc::getfeedbasis | ( | const calcAntenna * | a, | |
Double | B[3][3] | |||
) | [private] |
static BeamCalc* casa::BeamCalc::Instance | ( | ) | [static] |
This is a SINGLETON class.
void casa::BeamCalc::intersectaperture | ( | const calcAntenna * | a, | |
const Double * | dish, | |||
const Double * | unitdir, | |||
Double * | aper | |||
) | [private] |
void casa::BeamCalc::intersectdish | ( | const calcAntenna * | a, | |
const Double * | sub, | |||
const Double * | unitdir, | |||
Double * | dish, | |||
Int | niter | |||
) | [private] |
Int casa::BeamCalc::legplanewaveblock | ( | const calcAntenna * | a, | |
Double | x, | |||
Double | y | |||
) | [private] |
Int casa::BeamCalc::legplanewaveblock2 | ( | const calcAntenna * | a, | |
const Ray * | ray | |||
) | [private] |
Int casa::BeamCalc::legsphericalwaveblock | ( | const calcAntenna * | a, | |
const Ray * | ray | |||
) | [private] |
calcAntenna* casa::BeamCalc::newAntenna | ( | Double | sub_h, | |
Double | feed_x, | |||
Double | feed_y, | |||
Double | feed_z, | |||
Double | ftaper, | |||
Double | thmax, | |||
const char * | geomfile | |||
) | [private] |
calcAntenna* casa::BeamCalc::newAntennafromApertureCalcParams | ( | ApertureCalcParams * | ap | ) | [private] |
Pathology* casa::BeamCalc::newPathology | ( | ) | [private] |
Pathology* casa::BeamCalc::newPathologyfromApertureCalcParams | ( | ApertureCalcParams * | ap | ) | [private] |
Ray* casa::BeamCalc::newRay | ( | const Double * | sub | ) | [private] |
void casa::BeamCalc::norm3 | ( | Double * | v | ) | [inline, private] |
normalizes a "vector" of 3 Doubles in the vector sense
Definition at line 234 of file BeamCalc.h.
References casacore::sqrt().
void casa::BeamCalc::normvec | ( | const Double * | a, | |
const Double * | b, | |||
Double * | c | |||
) | [private] |
void casa::BeamCalc::Pathologize | ( | Double * | sub, | |
const Pathology * | p | |||
) | [private] |
void casa::BeamCalc::printAntenna | ( | const calcAntenna * | a | ) | [private] |
Double casa::BeamCalc::Raylen | ( | const Ray * | ray | ) | [private] |
void casa::BeamCalc::setBeamCalcGeometries | ( | const String & | obsName, | |
const String & | antennaType = "STANDARD" , |
|||
const MEpoch & | obsTime = MEpoch(Quantity(50000.,"d")) , |
|||
const String & | otherAntRayPath = "" | |||
) |
Int casa::BeamCalc::subfromdish | ( | const calcAntenna * | a, | |
Double | x, | |||
Double | y, | |||
Double * | subpoint | |||
) | [private] |
Returns position of subreflector piece (x, y, z) and its normal (u, v, w).
Ray* casa::BeamCalc::trace | ( | const calcAntenna * | a, | |
Double | x, | |||
Double | y, | |||
const Pathology * | p | |||
) | [private] |
void casa::BeamCalc::tracepol | ( | Complex * | E0, | |
const Ray * | ray, | |||
Complex * | E1 | |||
) | [private] |
String casa::BeamCalc::antRespPath_p [private] |
Definition at line 330 of file BeamCalc.h.
String casa::BeamCalc::antType_p [private] |
Definition at line 324 of file BeamCalc.h.
Vector<Double> casa::BeamCalc::bandMaxFreq_p [private] |
Definition at line 329 of file BeamCalc.h.
Vector<Double> casa::BeamCalc::bandMinFreq_p [private] |
Definition at line 328 of file BeamCalc.h.
uInt casa::BeamCalc::BeamCalc_NumBandCodes_p [private] |
Definition at line 326 of file BeamCalc.h.
Vector<BeamCalcGeometry> casa::BeamCalc::BeamCalcGeometries_p [private] |
Definition at line 327 of file BeamCalc.h.
const Double casa::BeamCalc::DEG_RAD [static, private] |
Definition at line 336 of file BeamCalc.h.
const Double casa::BeamCalc::INCH_METER [static, private] |
Definition at line 333 of file BeamCalc.h.
BeamCalc* casa::BeamCalc::instance_p [static, private] |
Definition at line 321 of file BeamCalc.h.
const Double casa::BeamCalc::METER_INCH [static, private] |
Definition at line 332 of file BeamCalc.h.
const Double casa::BeamCalc::METER_NS [static, private] |
Definition at line 335 of file BeamCalc.h.
const Double casa::BeamCalc::NS_METER [static, private] |
Definition at line 334 of file BeamCalc.h.
String casa::BeamCalc::obsName_p [private] |
Definition at line 323 of file BeamCalc.h.
MEpoch casa::BeamCalc::obsTime_p [private] |
Definition at line 325 of file BeamCalc.h.
const Double casa::BeamCalc::RAD_DEG [static, private] |
Definition at line 337 of file BeamCalc.h.