casa
5.7.0-16
|
Interprets the data in an antenna data area of a VLA logical record. More...
#include <VLAADA.h>
Public Member Functions | |
VLAADA () | |
The default constructor creates a unusable object. More... | |
VLAADA (casacore::ByteSource &record, casacore::uInt offset) | |
Construct this object to read data from the specified VLA logical record. More... | |
~VLAADA () | |
The destructor is trivial. More... | |
VLAADA (const VLAADA &other) | |
The copy constructor uses reference semantics. More... | |
VLAADA & | operator= (const VLAADA &other) |
The assignment constructor uses reference semantics. More... | |
void | attach (casacore::ByteSource &record, casacore::uInt offset) |
Re-initialise this object so that it now reads data from the given VLA logical record. More... | |
casacore::String | antName (casacore::Bool newStyle=true) const |
return the antenna name. More... | |
casacore::uInt | antId () const |
returns the antenna Id. More... | |
casacore::Float | frontEndTemp (VLAEnum::IF which) const |
Front end Temp...gives a clue if antenna is EVLA. More... | |
casacore::String | padName () const |
return the pad name that this antenna is currently located on. More... | |
casacore::Double | u () const |
return the u coordinate in meters of this antenna at the centre of the integration. More... | |
casacore::Double | v () const |
return the v coordinate in meters of this antenna at the centre of the integration. More... | |
casacore::Double | w () const |
return the w coordinate in meters of this antenna at the centre of the integration. More... | |
casacore::Double | bx () const |
return the Bx position in meters of this antenna, from the centre of the Array. More... | |
casacore::Double | by () const |
return the By position in meters of this antenna, from the centre of the Array. More... | |
casacore::Double | bz () const |
return the Bz position in meters of this antenna, from the centre of the Array. More... | |
casacore::Vector < casacore::Double > | pos () const |
return the bx, by, bz positions in meters of this antenna, from the centre of the Array. More... | |
casacore::uInt | ifStatus (VLAEnum::IF which) const |
return the IF status. More... | |
casacore::Float | nominalSensitivity (VLAEnum::IF which) const |
returns the nominal sensitivity of the specified IF. More... | |
casacore::Stokes::StokesTypes | ifPol (VLAEnum::IF which) const |
return the IF polarisation. More... | |
casacore::Bool | nomSensApplied (VLAEnum::IF which, const casacore::uInt rev) const |
Has the nominal sensitivity amplitude scaling been applied? (auto-true prior to revision 25 [exclusive]) More... | |
casacore::String | arrayName () const |
Identifies which array an antennn belongs to: VLA, EVLA, or VLBA. More... | |
casacore::Bool | ok () const |
casacore::Function which checks the internal data of this class for consistant values. More... | |
Private Attributes | |
casacore::ByteSource | itsRecord |
casacore::uInt | itsOffset |
Interprets the data in an antenna data area of a VLA logical record.
Public interface
The antenna data is, in memo 188, frequently shortened to the acronym ADA. As this is specific to the VLA the name VLAADA seemed appropriate.
This class contains functions which access and interpret the data in an antenna data area of a VLA logical record. Only data within one antenna data are is accessable with this class, and multiple instances of this class are needed to simultaneously look at the data in the other antenna data areas in a VLA logical record.
The functions in this class access the specified data in the antenna data area, and may convert the units and data types so something more suitable for general use. They also interpret the data and provide some derived quantities eg., the padName function.
This code fragment shows how to initialise a casacore::Block of objects of this class and then use these objects to determine which antenna is on which pad. It is assumed that the Bytesource object contains a VLA Logical record.
This class was needed as part of the VLA filler application.
compiled in debug mode this class does a lot of consistancy checking. If it detects anomolies it will throw an exception (casacore::AipsError).
VLAADA::VLAADA | ( | ) |
The default constructor creates a unusable object.
You need to use the assignment operator or the attach function to create a usable object.
VLAADA::VLAADA | ( | casacore::ByteSource & | record, |
casacore::uInt | offset | ||
) |
Construct this object to read data from the specified VLA logical record.
The antenna data area that will be used begins at the specified number of bytes from the beginning of the record.
VLAADA::~VLAADA | ( | ) |
The destructor is trivial.
VLAADA::VLAADA | ( | const VLAADA & | other | ) |
The copy constructor uses reference semantics.
casacore::uInt VLAADA::antId | ( | ) | const |
returns the antenna Id.
This is a number which stays with the "steel" and gets moved to new locations. It is not the pad number. It is between 1 and 28 inclusive.
casacore::String VLAADA::antName | ( | casacore::Bool | newStyle = true | ) | const |
return the antenna name.
This is a string version of the antenna id n is a one or two digit number that contains the antenna identifier (see below).
casacore::String VLAADA::arrayName | ( | ) | const |
Identifies which array an antennn belongs to: VLA, EVLA, or VLBA.
void VLAADA::attach | ( | casacore::ByteSource & | record, |
casacore::uInt | offset | ||
) |
Re-initialise this object so that it now reads data from the given VLA logical record.
The antenna data area that will be used begins at the specified number of bytes from the beginning of the record.
casacore::Double VLAADA::bx | ( | ) | const |
return the Bx position in meters of this antenna, from the centre of the Array.
casacore::Double VLAADA::by | ( | ) | const |
return the By position in meters of this antenna, from the centre of the Array.
casacore::Double VLAADA::bz | ( | ) | const |
return the Bz position in meters of this antenna, from the centre of the Array.
casacore::Float VLAADA::frontEndTemp | ( | VLAEnum::IF | which | ) | const |
Front end Temp...gives a clue if antenna is EVLA.
casacore::Stokes::StokesTypes VLAADA::ifPol | ( | VLAEnum::IF | which | ) | const |
return the IF polarisation.
Normally at the VLA IF's A & B measure right-hand-circular polarisation, and IF's C & D measure left-hand-circular polarisation. But in special circumstances this can be swapped. This function returns casacore::Stokes::RCircular or casacore::Stokes::LCircular.
casacore::uInt VLAADA::ifStatus | ( | VLAEnum::IF | which | ) | const |
return the IF status.
The status indicates how bad the data probably is for the specified if and the current antenna. Values of zero indicate the IF is OK, 1 is a warning, 2 means not so good, and bigger numbers, up to 15 mean the IF is successively worse.
casacore::Float VLAADA::nominalSensitivity | ( | VLAEnum::IF | which | ) | const |
returns the nominal sensitivity of the specified IF.
These numbers are multiplied by the raw correlaton co-efficients to produce the numbers in the correlation data area.
casacore::Bool VLAADA::nomSensApplied | ( | VLAEnum::IF | which, |
const casacore::uInt | rev | ||
) | const |
Has the nominal sensitivity amplitude scaling been applied? (auto-true prior to revision 25 [exclusive])
casacore::Bool VLAADA::ok | ( | ) | const |
casacore::Function which checks the internal data of this class for consistant values.
Returns true if everything is fine otherwise returns false.
The assignment constructor uses reference semantics.
casacore::String VLAADA::padName | ( | ) | const |
return the pad name that this antenna is currently located on.
This is obtained by knowing where the pads are and looking at the bx position of the antenna (the bx position in the logical record has to be within half a meter of the value given in an table). Pad names are of the form "Nn" or "En" or "Wn" where n is a one or two digit number that has an approximate correspondence with the distance of the pad from the centre of the array.
casacore::Vector<casacore::Double> VLAADA::pos | ( | ) | const |
return the bx, by, bz positions in meters of this antenna, from the centre of the Array.
casacore::Double VLAADA::u | ( | ) | const |
return the u coordinate in meters of this antenna at the centre of the integration.
casacore::Double VLAADA::v | ( | ) | const |
return the v coordinate in meters of this antenna at the centre of the integration.
casacore::Double VLAADA::w | ( | ) | const |
return the w coordinate in meters of this antenna at the centre of the integration.
|
private |
|
mutableprivate |