CARMA C++
carma::control::AntennaControls Class Reference

AntennaControls interface. More...

#include <carma/control/AntennaControls.h>

Classes

struct  PersistentInfo
 Persistent Info captures data about the antenna which goes with it regardless of the subarray in which the antenna is a member. More...
 

Public Member Functions

 AntennaControls (unsigned short carmaAntNo, const PersistentInfo &persistentInfo, monitor::MonitorSystem &monitorSystem, monitor::ControlSubsystemBase::Antenna &antenna)
 Construct an AntennControls object. More...
 
 AntennaControls (unsigned short carmaAntNo, const PersistentInfo &persistentInfo)
 
AntennaHandleantennaHandle () const
 
void attemptToReconnectIfNeeded ()
 Reconnect to all subsystem DOs under control of this AntennaControls object if necessary. More...
 
CalibratorHandlecalibratorHandle () const
 
CryoHandlecryoHandle () const
 
DriveHandledriveHandle () const
 
FocusHandlefocusHandle () const
 
void forceFullReconnect ()
 Reconnect to all subsystem DOs under control of this AntennaControls object. More...
 
services::Location getAbsoluteLocation () const
 
::std::vector< services::LengthgetAntennaOffsets () const
 
services::Length getAxisMisalignment () const
 
::std::string getCarmaAntennaName () const
 
unsigned short getCarmaAntennaNo () const
 
services::Pad getPad () const
 
::std::vector< services::LengthgetPadOffsets () const
 
::std::vector< services::LengthgetTotalEnu () const
 
::std::string getTypedAntennaName () const
 
Uvw interpolateUVWfor (const double mjd)
 @ param mjd The modified julian day at which to interpolate the data More...
 
OpticalTelHandleopticalTelHandle () const
 
RxSelectorHandlerxSelectorHandle () const
 
void setAntennaOffsets (const services::Length &eastOffset, const services::Length &northOffset, const services::Length &upOffset)
 Set additional offsets for a given antena. More...
 
void setAxisMisalignment (const services::Length &axisMis)
 Set the axis misalignment term. More...
 
void setPad (const services::Pad &pad)
 Set the pad for upon which this antenna rests. More...
 
void setPadOffsets (const services::Length &eastOffset, const services::Length &northOffset, const services::Length &upOffset)
 Set The East, North, Up offsets with respect to the nominal Pad location (lon,lat,alt). More...
 
void updateUVWInterpolators (const float U, const float V, const float W, const double mjd, const bool discontinuity)
 Push new UVW values on to the quadratic interpolators for these data items. More...
 
virtual ~AntennaControls ()
 Destructor. More...
 

Detailed Description

AntennaControls interface.

Antenna Controls is the interface to an antenna's properities and subsystems. Physical properties such the antenna's location and offsets are also set through this interface. When these properties are changed, the relevant antenna subsystems are notified. The interface also encapsulates and presents in a uniform manner all the DOs for the antenna.

Definition at line 57 of file AntennaControls.h.

Constructor & Destructor Documentation

carma::control::AntennaControls::AntennaControls ( unsigned short  carmaAntNo,
const PersistentInfo persistentInfo,
monitor::MonitorSystem monitorSystem,
monitor::ControlSubsystemBase::Antenna &  antenna 
)

Construct an AntennControls object.

Parameters
carmaAntNoThe absolute CARMA antenna number (1-23) for this antenna.
padThe pad of this antenna.
monitorSystemThe active CARMA monitor system, used to create handles to subsystems which this object controls (e.g. drive, focus, cryo).
antennaThe control monitor subsystem antenna container for this antenna. Also used for handles.
carma::control::AntennaControls::AntennaControls ( unsigned short  carmaAntNo,
const PersistentInfo persistentInfo 
)
See Also
SubarrayControlConfig.cc
virtual carma::control::AntennaControls::~AntennaControls ( )
virtual

Destructor.

Member Function Documentation

AntennaHandle* carma::control::AntennaControls::antennaHandle ( ) const
Returns
The Antenna Control DO wrapper.
void carma::control::AntennaControls::attemptToReconnectIfNeeded ( )

Reconnect to all subsystem DOs under control of this AntennaControls object if necessary.

This is done via calls to subsystem handles to reestablish a broken connection.

See Also
RemotObjHandleBase::attemptToReconnectIfNeeded;
CalibratorHandle* carma::control::AntennaControls::calibratorHandle ( ) const
Returns
The Calibrator DO wrapper.
CryoHandle* carma::control::AntennaControls::cryoHandle ( ) const
Returns
The Cryo DO wrapper.
DriveHandle* carma::control::AntennaControls::driveHandle ( ) const
Returns
The Drive DO wrapper.
FocusHandle* carma::control::AntennaControls::focusHandle ( ) const
Returns
The Focus DO wrapper.
void carma::control::AntennaControls::forceFullReconnect ( )

Reconnect to all subsystem DOs under control of this AntennaControls object.

This is done via calls to subsystem handles to force a full re-lookup of the DO by name.

See Also
RemotObjHandleBase::forceFullReconnect.
services::Location carma::control::AntennaControls::getAbsoluteLocation ( ) const
Returns
Pad location plus all offsets
::std::vector< services::Length > carma::control::AntennaControls::getAntennaOffsets ( ) const
Returns
A vector containing the East, North, and Up antenna offsets (in that order).
See Also
setAntennaOffsets
services::Length carma::control::AntennaControls::getAxisMisalignment ( ) const
Returns
a measure of the elevation and azimuth axis non-intersection misalignment
::std::string carma::control::AntennaControls::getCarmaAntennaName ( ) const
Returns
the carma physical antenna name, e.g. "Carma1", "Carma15"
unsigned short carma::control::AntennaControls::getCarmaAntennaNo ( ) const
Returns
The absolute CARMA antenna number. i.e. Ovro1 is 1, Ovro6 is 6, Bima1 is 7, Bima9 is 15, etc.
services::Pad carma::control::AntennaControls::getPad ( ) const
Returns
The pad upon which this antenna rests.
::std::vector< services::Length > carma::control::AntennaControls::getPadOffsets ( ) const
Returns
A vector containing the East, North, and Up pad offsets (in that order).
See Also
setPadOffsets
::std::vector< services::Length > carma::control::AntennaControls::getTotalEnu ( ) const
Returns
A vector containing the total East, North, and Up coordinates of this antenna with respect to the array referecence point.
::std::string carma::control::AntennaControls::getTypedAntennaName ( ) const
Returns
the typed physical antenna name, e.g. "Ovro1", "Bima1"
Uvw carma::control::AntennaControls::interpolateUVWfor ( const double  mjd)

@ param mjd The modified julian day at which to interpolate the data

Returns
UVW interpolated for the time given.
Exceptions
IllegalArgumentExceptionif the input mjd cannot be bracketed by the times in any of the U,V,W quadratic interopolation containers.
OpticalTelHandle* carma::control::AntennaControls::opticalTelHandle ( ) const
Returns
The optical telescope DO wrapper.
RxSelectorHandle* carma::control::AntennaControls::rxSelectorHandle ( ) const
Returns
The receiver selector DO wrapper.
void carma::control::AntennaControls::setAntennaOffsets ( const services::Length eastOffset,
const services::Length northOffset,
const services::Length upOffset 
)

Set additional offsets for a given antena.

These represent static properties of a particular antenna, e.g. the height of its receiver from the ground. They are given East, North, Up offsets with respect to the fiducial Pad location (lon,lat,alt), NOT with respect to (Pad + pad offsets).

The antenna's absolute location (lon,lat,alt) is (Pad + pad offset + antenna offsets).

Parameters
eastOffsetThe east antenna offset
northOffsetThe north antenna offset
upOffsetThe up antenna offset
See Also
setPadOffsets
void carma::control::AntennaControls::setAxisMisalignment ( const services::Length axisMis)

Set the axis misalignment term.

Parameters
axisMisA length representing the non-intersection of the elevation and azimuth axes.
void carma::control::AntennaControls::setPad ( const services::Pad pad)

Set the pad for upon which this antenna rests.

Parameters
padThe Pad object representing this antenna's pad.
void carma::control::AntennaControls::setPadOffsets ( const services::Length eastOffset,
const services::Length northOffset,
const services::Length upOffset 
)

Set The East, North, Up offsets with respect to the nominal Pad location (lon,lat,alt).

These represent how an antenna sits on a pad and are the product of the baseline solution.

The antenna's absolute location (lon,lat,alt) is (Pad + pad offset + antenna offsets).

Parameters
eastOffsetThe east pad offset
northOffsetThe north pad offset
upOffsetThe up pad offset
See Also
setAntennaOffsets
void carma::control::AntennaControls::updateUVWInterpolators ( const float  U,
const float  V,
const float  W,
const double  mjd,
const bool  discontinuity 
)

Push new UVW values on to the quadratic interpolators for these data items.

Parameters
UThe U coordinate value at time mjd
VThe V coordinate value at time mjd
WThe W coordinate value at time mjd
mjdThe modified julian day for which the UVW were calculated.
discontinuityTrue if the change is discontinuous, e.g. a source change, and the interpolators should be emptied first. False, otherwise.
Returns
none

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