casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
casa::BeamCalc Class Reference

#include <BeamCalc.h>

Public Member Functions

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="")
 
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="")
 
casacore::Int calculateAperture (ApertureCalcParams *ap)
 
casacore::Int calculateAperture (ApertureCalcParams *ap, const casacore::Int &whichStokes)
 
casacore::Int calculateApertureLinPol (ApertureCalcParams *ap, const casacore::Int &whichStokes)
 

Static Public Member Functions

static BeamCalcInstance ()
 This is a SINGLETON class. More...
 

Protected Member Functions

 BeamCalc ()
 

Private Member Functions

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)
 
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, const casacore::Int &whichStokes)
 
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)
 
void norm3 (casacore::Double *v)
 normalizes a "vector" of 3 Doubles in the vector sense More...
 
calcAntennanewAntenna (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)
 
void deleteAntenna (calcAntenna *a)
 
void Antennasetfreq (calcAntenna *a, casacore::Double freq)
 
void Antennasetdir (calcAntenna *a, const casacore::Double *dir)
 
void alignfeed (calcAntenna *a, const Pathology *p)
 sets feeddir after pathology is considered More...
 
void getfeedbasis (const calcAntenna *a, casacore::Double B[3][3])
 
void Efield (const calcAntenna *a, const casacore::Complex *pol, casacore::Complex *E)
 
casacore::Int Antennasetfeedpattern (calcAntenna *a, const char *filename, casacore::Double scale)
 
calcAntennanewAntennafromApertureCalcParams (ApertureCalcParams *ap)
 
casacore::Int dishvalue (const calcAntenna *a, casacore::Double r, casacore::Double *z, casacore::Double *m)
 
casacore::Int astigdishvalue (const calcAntenna *a, casacore::Double x, casacore::Double y, casacore::Double *z, casacore::Double *m)
 
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) More...
 
casacore::Int dishfromsub (const calcAntenna *a, casacore::Double x, casacore::Double y, casacore::Double *dishpoint)
 
void printAntenna (const calcAntenna *a)
 
RaynewRay (const casacore::Double *sub)
 
void deleteRay (Ray *ray)
 
PathologynewPathology ()
 
PathologynewPathologyfromApertureCalcParams (ApertureCalcParams *ap)
 
void deletePathology (Pathology *P)
 
void normvec (const casacore::Double *a, const casacore::Double *b, casacore::Double *c)
 
casacore::Double dAdOmega (const calcAntenna *a, const Ray *ray1, const Ray *ray2, const Ray *ray3, const Pathology *p)
 
casacore::Double dOmega (const calcAntenna *a, const Ray *ray1, const Ray *ray2, const Ray *ray3, const Pathology *p)
 
casacore::Double Raylen (const Ray *ray)
 
void Pathologize (casacore::Double *sub, const Pathology *p)
 
void applyPathology (Pathology *P, calcAntenna *a)
 
void intersectdish (const calcAntenna *a, const casacore::Double *sub, const casacore::Double *unitdir, casacore::Double *dish, casacore::Int niter)
 
void intersectaperture (const calcAntenna *a, const casacore::Double *dish, const casacore::Double *unitdir, casacore::Double *aper)
 
casacore::Double feedfunc (const calcAntenna *a, casacore::Double theta)
 
casacore::Double feedgain (const calcAntenna *a, const Ray *ray, const Pathology *p)
 
Raytrace (const calcAntenna *a, casacore::Double x, casacore::Double y, const Pathology *p)
 
void tracepol (casacore::Complex *E0, const Ray *ray, casacore::Complex *E1)
 
casacore::Int legplanewaveblock (const calcAntenna *a, casacore::Double x, casacore::Double y)
 
casacore::Int legplanewaveblock2 (const calcAntenna *a, const Ray *ray)
 
casacore::Int legsphericalwaveblock (const calcAntenna *a, const Ray *ray)
 
void copyBeamCalcGeometry (BeamCalcGeometry *to, BeamCalcGeometry *from)
 

Private Attributes

casacore::String obsName_p
 
casacore::String antType_p
 
casacore::MEpoch obsTime_p
 
casacore::uInt BeamCalc_NumBandCodes_p
 
casacore::Vector
< BeamCalcGeometry
BeamCalcGeometries_p
 
casacore::Vector
< casacore::Double
bandMinFreq_p
 
casacore::Vector
< casacore::Double
bandMaxFreq_p
 
casacore::String antRespPath_p
 

Static Private Attributes

static BeamCalcinstance_p
 
static const casacore::Double METER_INCH
 
static const casacore::Double INCH_METER
 
static const casacore::Double NS_METER
 
static const casacore::Double METER_NS
 
static const casacore::Double DEG_RAD
 
static const casacore::Double RAD_DEG
 

Detailed Description

Definition at line 192 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 casacore::Double dir 
)
private
casacore::Int casa::BeamCalc::Antennasetfeedpattern ( calcAntenna a,
const char *  filename,
casacore::Double  scale 
)
private
void casa::BeamCalc::Antennasetfreq ( calcAntenna a,
casacore::Double  freq 
)
private
void casa::BeamCalc::applyPathology ( Pathology P,
calcAntenna a 
)
private
casacore::Int casa::BeamCalc::astigdishvalue ( const calcAntenna a,
casacore::Double  x,
casacore::Double  y,
casacore::Double z,
casacore::Double m 
)
private
casacore::Int casa::BeamCalc::calculateAperture ( ApertureCalcParams ap)
casacore::Int casa::BeamCalc::calculateAperture ( ApertureCalcParams ap,
const casacore::Int whichStokes 
)
casacore::Int casa::BeamCalc::calculateApertureLinPol ( ApertureCalcParams ap,
const casacore::Int whichStokes 
)
void casa::BeamCalc::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 
)
private
void casa::BeamCalc::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,
const casacore::Int whichStokes 
)
private
void casa::BeamCalc::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 
)
private
void casa::BeamCalc::copyBeamCalcGeometry ( BeamCalcGeometry to,
BeamCalcGeometry from 
)
private
casacore::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
casacore::Int casa::BeamCalc::dishfromsub ( const calcAntenna a,
casacore::Double  x,
casacore::Double  y,
casacore::Double dishpoint 
)
private
casacore::Int casa::BeamCalc::dishvalue ( const calcAntenna a,
casacore::Double  r,
casacore::Double z,
casacore::Double m 
)
private
casacore::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 casacore::Complex *  pol,
casacore::Complex *  E 
)
private
casacore::Double casa::BeamCalc::feedfunc ( const calcAntenna a,
casacore::Double  theta 
)
private
casacore::Double casa::BeamCalc::feedgain ( const calcAntenna a,
const Ray ray,
const Pathology p 
)
private
casacore::Int casa::BeamCalc::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 casa::BeamCalc::getfeedbasis ( const calcAntenna a,
casacore::Double  B[3][3] 
)
private
static BeamCalc* casa::BeamCalc::Instance ( )
static

This is a SINGLETON class.

void casa::BeamCalc::intersectaperture ( const calcAntenna a,
const casacore::Double dish,
const casacore::Double unitdir,
casacore::Double aper 
)
private
void casa::BeamCalc::intersectdish ( const calcAntenna a,
const casacore::Double sub,
const casacore::Double unitdir,
casacore::Double dish,
casacore::Int  niter 
)
private
casacore::Int casa::BeamCalc::legplanewaveblock ( const calcAntenna a,
casacore::Double  x,
casacore::Double  y 
)
private
casacore::Int casa::BeamCalc::legplanewaveblock2 ( const calcAntenna a,
const Ray ray 
)
private
casacore::Int casa::BeamCalc::legsphericalwaveblock ( const calcAntenna a,
const Ray ray 
)
private
calcAntenna* casa::BeamCalc::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 
)
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 casacore::Double sub)
private
void casa::BeamCalc::norm3 ( casacore::Double v)
inlineprivate

normalizes a "vector" of 3 Doubles in the vector sense

Definition at line 236 of file BeamCalc.h.

References casacore::sqrt().

void casa::BeamCalc::normvec ( const casacore::Double a,
const casacore::Double b,
casacore::Double c 
)
private
void casa::BeamCalc::Pathologize ( casacore::Double sub,
const Pathology p 
)
private
void casa::BeamCalc::printAntenna ( const calcAntenna a)
private
casacore::Double casa::BeamCalc::Raylen ( const Ray ray)
private
void casa::BeamCalc::setBeamCalcGeometries ( const casacore::String obsName,
const casacore::String antennaType = "STANDARD",
const casacore::MEpoch obsTime = casacore::MEpoch(casacore::Quantity(50000.,"d")),
const casacore::String otherAntRayPath = "" 
)
casacore::Int casa::BeamCalc::subfromdish ( const calcAntenna a,
casacore::Double  x,
casacore::Double  y,
casacore::Double subpoint 
)
private

Returns position of subreflector piece (x, y, z) and its normal (u, v, w)

Ray* casa::BeamCalc::trace ( const calcAntenna a,
casacore::Double  x,
casacore::Double  y,
const Pathology p 
)
private
void casa::BeamCalc::tracepol ( casacore::Complex *  E0,
const Ray ray,
casacore::Complex *  E1 
)
private

Member Data Documentation

casacore::String casa::BeamCalc::antRespPath_p
private

Definition at line 332 of file BeamCalc.h.

casacore::String casa::BeamCalc::antType_p
private

Definition at line 326 of file BeamCalc.h.

casacore::Vector<casacore::Double> casa::BeamCalc::bandMaxFreq_p
private

Definition at line 331 of file BeamCalc.h.

casacore::Vector<casacore::Double> casa::BeamCalc::bandMinFreq_p
private

Definition at line 330 of file BeamCalc.h.

casacore::uInt casa::BeamCalc::BeamCalc_NumBandCodes_p
private

Definition at line 328 of file BeamCalc.h.

casacore::Vector<BeamCalcGeometry> casa::BeamCalc::BeamCalcGeometries_p
private

Definition at line 329 of file BeamCalc.h.

const casacore::Double casa::BeamCalc::DEG_RAD
staticprivate

Definition at line 338 of file BeamCalc.h.

const casacore::Double casa::BeamCalc::INCH_METER
staticprivate

Definition at line 335 of file BeamCalc.h.

BeamCalc* casa::BeamCalc::instance_p
staticprivate

Definition at line 323 of file BeamCalc.h.

const casacore::Double casa::BeamCalc::METER_INCH
staticprivate

Definition at line 334 of file BeamCalc.h.

const casacore::Double casa::BeamCalc::METER_NS
staticprivate

Definition at line 337 of file BeamCalc.h.

const casacore::Double casa::BeamCalc::NS_METER
staticprivate

Definition at line 336 of file BeamCalc.h.

casacore::String casa::BeamCalc::obsName_p
private

Definition at line 325 of file BeamCalc.h.

casacore::MEpoch casa::BeamCalc::obsTime_p
private

Definition at line 327 of file BeamCalc.h.

const casacore::Double casa::BeamCalc::RAD_DEG
staticprivate

Definition at line 339 of file BeamCalc.h.


The documentation for this class was generated from the following file: