CARMA C++
sza::util::Location Class Reference

A class for specifying a location. More...

#include <carma/szautil/Location.h>

Inherited by sza::util::DelayLocation.

Public Types

enum  ReqParam { NONE = 0x0, SITE = 0x2, LOCATION = 0x4, ALL = SITE | LOCATION }
 Parameters required to specify a location. More...
 

Public Member Functions

double altitude (bool fiducial)
 
Atmosphere & atmos ()
 Return a handle to the atmospheric handler. More...
 
Angle & azimuth ()
 
bool canBracket (double mjdUtc)
 Return true if ephemeris parameters can be interpolated for this timestamp. More...
 
bool canLocate ()
 Return true if a site and offset have ben set for this location. More...
 
bool changed ()
 Return true if parameters for this location have changed since the last time this function was called. More...
 
double east ()
 
Angle & elevation ()
 
Astrometry & ephem ()
 Return a handle to the ephemeris handler. More...
 
virtual Delay geometricDelay (DelayAntennaLocation *refDLoc, bool doMotionCorrection)
 Get geometric delay for an Ha Dec source position, in nanoseconds. More...
 
virtual Delay geometricDelay (Angle az, Angle el, DelayAntennaLocation *refDLoc)
 Get geometric delay for an Az El source position, in nanoseconds. More...
 
HourAngle getHa (double mjdUtc, HourAngle ra)
 Convert to Ha 1for the actual location of this antenna. More...
 
HourAngle getHa (double mjdUtc, Source *src)
 
HourAngle getLst (double mjd)
 Convert mjd to lst for the location of this antenna. More...
 
Vector< double > getUen ()
 Return the UEN coordinates (meters) of this object. More...
 
Vector< double > getXyz (bool geocentric=true)
 Return the XYZ coordinates (meters) of this object. More...
 
Angle latitude (bool fiducial)
 
 Location ()
 Constructor. More...
 
 Location (Location &location)
 
 Location (const Location &location)
 
Angle longitude (bool fiducial)
 Return the LLA coordinates (long in rad, lat in rad, altitude in meters) of this object. More...
 
double north ()
 
void operator= (Location &loc)
 
void operator= (const Location &loc)
 
void registerLocationCallback (DelayLocation *delayLocation)
 Register to be called back when this object's location is updated. More...
 
void setFiducialSite (Angle longitude, Angle latitude, double altitude)
 A method to set a fiducial LLA point. More...
 
void setOffset (double up, double east, double north)
 A method to set an UEN offset relative to the fiducial. More...
 
Delay troposphericDelay (DelayAntennaLocation *refDLoc)
 Get the delay due to the excess path length through the troposphere. More...
 
double up ()
 
virtual double X (bool ec=true)
 
virtual double Y (bool ec=true)
 
virtual double Z (bool ec=true)
 
virtual ~Location ()
 Destructor. More...
 

Protected Member Functions

void updateCoordinates ()
 Update coordinate representations of this location. More...
 

Protected Attributes

double actualAltitude_
 
Angle actualLatitude_
 
Angle actualLongitude_
 
Astrometry astrom_
 An object for handling astrometric conversions. More...
 
Atmosphere atmos_
 An object for handling atmospheric calculations. More...
 
Angle azimuth_
 
bool changed_
 
DecAngle dec_
 
DelayLocation * delayLocation_
 
Angle elevation_
 
double fiducialAltitude_
 
Angle fiducialLatitude_
 
Angle fiducialLongitude_
 
Vector< double > geocentricXyz_
 
HourAngle ha_
 
unsigned lacking_
 
Vector< double > topocentricXyz_
 
Vector< double > uen_
 

Friends

class DelayLocation
 

Detailed Description

A class for specifying a location.

Definition at line 29 of file Location.h.

Member Enumeration Documentation

Parameters required to specify a location.

Definition at line 35 of file Location.h.

Constructor & Destructor Documentation

sza::util::Location::Location ( )

Constructor.

virtual sza::util::Location::~Location ( )
virtual

Destructor.

Member Function Documentation

Atmosphere& sza::util::Location::atmos ( )

Return a handle to the atmospheric handler.

Definition at line 194 of file Location.h.

bool sza::util::Location::canBracket ( double  mjdUtc)

Return true if ephemeris parameters can be interpolated for this timestamp.

bool sza::util::Location::canLocate ( )

Return true if a site and offset have ben set for this location.

bool sza::util::Location::changed ( )

Return true if parameters for this location have changed since the last time this function was called.

Astrometry& sza::util::Location::ephem ( )

Return a handle to the ephemeris handler.

Definition at line 187 of file Location.h.

virtual Delay sza::util::Location::geometricDelay ( DelayAntennaLocation *  refDLoc,
bool  doMotionCorrection 
)
virtual

Get geometric delay for an Ha Dec source position, in nanoseconds.

virtual Delay sza::util::Location::geometricDelay ( Angle  az,
Angle  el,
DelayAntennaLocation *  refDLoc 
)
virtual

Get geometric delay for an Az El source position, in nanoseconds.

HourAngle sza::util::Location::getHa ( double  mjdUtc,
HourAngle  ra 
)

Convert to Ha 1for the actual location of this antenna.

HourAngle sza::util::Location::getLst ( double  mjd)

Convert mjd to lst for the location of this antenna.

Vector<double> sza::util::Location::getUen ( )

Return the UEN coordinates (meters) of this object.

Definition at line 134 of file Location.h.

Vector<double> sza::util::Location::getXyz ( bool  geocentric = true)

Return the XYZ coordinates (meters) of this object.

Parameters
earthCenteredIf true, return positions relative to the center of the earth

Definition at line 112 of file Location.h.

Angle sza::util::Location::longitude ( bool  fiducial)

Return the LLA coordinates (long in rad, lat in rad, altitude in meters) of this object.

Definition at line 94 of file Location.h.

void sza::util::Location::registerLocationCallback ( DelayLocation *  delayLocation)

Register to be called back when this object's location is updated.

void sza::util::Location::setFiducialSite ( Angle  longitude,
Angle  latitude,
double  altitude 
)

A method to set a fiducial LLA point.

void sza::util::Location::setOffset ( double  up,
double  east,
double  north 
)

A method to set an UEN offset relative to the fiducial.

Delay sza::util::Location::troposphericDelay ( DelayAntennaLocation *  refDLoc)

Get the delay due to the excess path length through the troposphere.

void sza::util::Location::updateCoordinates ( )
protected

Update coordinate representations of this location.

Member Data Documentation

Astrometry sza::util::Location::astrom_
protected

An object for handling astrometric conversions.

Definition at line 252 of file Location.h.

Atmosphere sza::util::Location::atmos_
protected

An object for handling atmospheric calculations.

Definition at line 257 of file Location.h.


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