casa
$Rev:20696$
|
#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) |
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 | 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] |
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::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 220 of file BeamCalc.h.
References casa::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 316 of file BeamCalc.h.
String casa::BeamCalc::antType_p [private] |
Definition at line 310 of file BeamCalc.h.
Vector<Double> casa::BeamCalc::bandMaxFreq_p [private] |
Definition at line 315 of file BeamCalc.h.
Vector<Double> casa::BeamCalc::bandMinFreq_p [private] |
Definition at line 314 of file BeamCalc.h.
uInt casa::BeamCalc::BeamCalc_NumBandCodes_p [private] |
Definition at line 312 of file BeamCalc.h.
Definition at line 313 of file BeamCalc.h.
const Double casa::BeamCalc::DEG_RAD [static, private] |
Definition at line 322 of file BeamCalc.h.
const Double casa::BeamCalc::INCH_METER [static, private] |
Definition at line 319 of file BeamCalc.h.
BeamCalc* casa::BeamCalc::instance_p [static, private] |
Definition at line 307 of file BeamCalc.h.
const Double casa::BeamCalc::METER_INCH [static, private] |
Definition at line 318 of file BeamCalc.h.
const Double casa::BeamCalc::METER_NS [static, private] |
Definition at line 321 of file BeamCalc.h.
const Double casa::BeamCalc::NS_METER [static, private] |
Definition at line 320 of file BeamCalc.h.
String casa::BeamCalc::obsName_p [private] |
Definition at line 309 of file BeamCalc.h.
MEpoch casa::BeamCalc::obsTime_p [private] |
Definition at line 311 of file BeamCalc.h.
const Double casa::BeamCalc::RAD_DEG [static, private] |
Definition at line 323 of file BeamCalc.h.