casa::BeamCalc Class Reference

#include <BeamCalc.h>

List of all members.

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 BeamCalcInstance ()
 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
calcAntennanewAntenna (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)
calcAntennanewAntennafromApertureCalcParams (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)
RaynewRay (const Double *sub)
void deleteRay (Ray *ray)
PathologynewPathology ()
PathologynewPathologyfromApertureCalcParams (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)
Raytrace (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< BeamCalcGeometryBeamCalcGeometries_p
Vector< Double > bandMinFreq_p
Vector< Double > bandMaxFreq_p
String antRespPath_p

Static Private Attributes

static BeamCalcinstance_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

Detailed Description

Definition at line 191 of file BeamCalc.h.


Constructor & Destructor Documentation

casa::BeamCalc::BeamCalc (  )  [protected]

Member Function Documentation

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]

Member Data Documentation

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.

Definition at line 326 of file BeamCalc.h.

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.

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1