casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
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)

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 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< DoublebandMinFreq_p
Vector< DoublebandMaxFreq_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]
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]
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]
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]

Member Data Documentation

Definition at line 316 of file BeamCalc.h.

Definition at line 310 of file BeamCalc.h.

Definition at line 315 of file BeamCalc.h.

Definition at line 314 of file BeamCalc.h.

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.

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.

Definition at line 309 of file BeamCalc.h.

Definition at line 311 of file BeamCalc.h.

const Double casa::BeamCalc::RAD_DEG [static, private]

Definition at line 323 of file BeamCalc.h.


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