![]() |
VieSched++
VieVS VLBI Scheduling Software
|
representation of a VLBI station More...
#include <Station.h>
Classes | |
struct | Event |
changes in parameters More... | |
class | Parameters |
station parameters More... | |
struct | Statistics |
statistics More... | |
Public Types | |
enum | AzelModel { AzelModel::simple, AzelModel::rigorous } |
azimuth elevation calculation model More... | |
Public Member Functions | |
Station (std::string sta_name, std::string tlc, std::shared_ptr< AbstractAntenna > sta_antenna, std::shared_ptr< AbstractCableWrap > sta_cableWrap, std::shared_ptr< Position > sta_position, std::shared_ptr< Equipment > sta_equip, std::shared_ptr< AbstractHorizonMask > sta_mask, unsigned long nSources) | |
constructor More... | |
const Parameters & | getPARA () const |
getter for parameters More... | |
Parameters & | referencePARA () |
reference to current parameters More... | |
const AbstractCableWrap & | getCableWrap () const noexcept |
getter for cable wrap More... | |
AbstractCableWrap & | referenceCableWrap () noexcept |
reference to cable wrap More... | |
unsigned int | getCurrentTime () const noexcept |
getter for last time this antenna was mentioned in scheduling More... | |
const Equipment & | getEquip () const noexcept |
getter for equipment information More... | |
bool | hasHorizonMask () const |
check if station has horizon mask More... | |
const AbstractHorizonMask & | getMask () const |
getter for horizon mask More... | |
const AbstractAntenna & | getAntenna () const noexcept |
getter for antenna More... | |
std::shared_ptr< const Position > | getPosition () const noexcept |
getter for position More... | |
int | getNObs () const noexcept |
getter for number of baselines which were already observed with this station More... | |
void | increaseNObs () noexcept |
increase number of observations by one More... | |
int | getNScans () const noexcept |
get number of scans More... | |
int | getNTotalScans () const noexcept |
get number of total scans More... | |
const PointingVector & | getCurrentPointingVector () const noexcept |
getter for current pointing vector More... | |
double | distance (const Station &other) const noexcept |
distance between two stations More... | |
bool | isVisible (const PointingVector &p, double minElevationSource=0) const noexcept |
checks if a source is visible for this station More... | |
boost::optional< unsigned int > | slewTime (const PointingVector &pointingVector) const noexcept |
calculate slew time between current pointing vector and this pointing vector More... | |
void | calcAzEl_rigorous (const std::shared_ptr< const AbstractSource > &source, PointingVector &p) noexcept |
calculation of azimuth, elevation, hour angle and declination with rigorouse model More... | |
void | calcAzEl_simple (std::shared_ptr< const AbstractSource > source, PointingVector &p) const noexcept |
calculation of azimuth, elevation, hour angle and declination with lookup tables More... | |
void | setCurrentPointingVector (const PointingVector &pointingVector) noexcept |
change current pointing vector More... | |
void | setEVENTS (std::vector< Event > &EVENTS) noexcept |
sets all upcoming events More... | |
Parameters & | refParaForMultiScheduling () |
reference parameters to add multi-scheduling setup More... | |
bool | checkForTagalongMode (unsigned int time) const noexcept |
check for tagalong mode More... | |
bool | checkForNewEvent (unsigned int time, bool &hardBreak) noexcept |
this function checks if it is time to change the parameters More... | |
unsigned int | maximumAllowedObservingTime (Timestamp ts) const noexcept |
maxium allowed observing time More... | |
void | applyNextEvent (std::ofstream &of) noexcept |
changes parameters to next setup More... | |
void | setNextEvent (unsigned int idx) noexcept |
set next event index More... | |
void | update (unsigned long nbl, const PointingVector &end, bool addToStatistics) noexcept |
update station if used for a scan More... | |
void | clearObservations () |
clear all observations More... | |
void | setStatistics (const Statistics &stat) |
set station statistics More... | |
const Statistics & | getStatistics () const |
get station statistics More... | |
std::pair< std::vector< double >, std::vector< double > > | getHorizonMask () const noexcept |
get horizon mask More... | |
void | toVexStationBlock (std::ofstream &of) const |
writes station defining block in vex format More... | |
void | toVexSiteBlock (std::ofstream &of) const |
writes site defining block in vex format More... | |
void | toVexAntennaBlock (std::ofstream &of) const |
writes antenna defining block in vex format More... | |
const std::string & | getElectronics_rack_type_ () const |
getter for electronics rack type_ More... | |
const std::string & | getRecord_transport_type () const |
getter for record transport type More... | |
const std::string & | getRecording_system_id () const |
getter for recording system id More... | |
void | addAdditionalParameters (std::string occupation_code, std::string record_transport_type, std::string electronics_rack_type, std::string recording_system_ID) |
adds additional parameters such as hardware names and occupation code More... | |
bool | listDownTimes (std::ofstream &of, bool skdFormat=false) const |
lists downtime for this station More... | |
bool | listTagalongTimes (std::ofstream &of, bool skdFormat=false) const |
lists tagalong for this station More... | |
unsigned int | getTotalObservingTime () const |
get total scheduled observing time up to this point More... | |
void | addObservingTime (unsigned int additionalTime) |
adds observing time to counter More... | |
![]() | |
VieVS_NamedObject (std::string name, unsigned long id) | |
constructor More... | |
VieVS_NamedObject (std::string name, std::string alternativeName, unsigned long id) | |
constructor More... | |
const std::string & | getName () const |
get object name More... | |
const std::string & | getAlternativeName () const |
get object alternative name More... | |
bool | hasAlternativeName () const |
check if object has alternative name More... | |
bool | hasName (const std::string &name) const |
check if object has name More... | |
void | changeName (const std::string &newName) |
change name of object More... | |
![]() | |
VieVS_Object (unsigned long id) | |
constructor More... | |
const unsigned long | getId () const |
get object id More... | |
bool | hasValidId () const |
check if id is valid More... | |
bool | hasId (unsigned long id) const |
check if object has specific id More... | |
void | setId (unsigned long id) |
set object id More... | |
std::string | printId () const |
object id string More... | |
Private Attributes | |
std::shared_ptr< AbstractAntenna > | antenna_ |
station antenna More... | |
std::shared_ptr< AbstractCableWrap > | cableWrap_ |
station cable wrap More... | |
std::shared_ptr< Position > | position_ |
station position More... | |
std::shared_ptr< Equipment > | equip_ |
station equipment More... | |
std::shared_ptr< AbstractHorizonMask > | mask_ |
station horizon mask More... | |
std::vector< Event > | events_ |
list of all events More... | |
std::string | oneLetterCode_ = "_" |
one letter code for skd file More... | |
std::string | electronics_rack_type_ = "unknown" |
electronics rack type (e.g.: "DBBC") More... | |
std::string | record_transport_type_ = "unknown" |
record transport_type (e.g.: "MARK5B") More... | |
std::string | recording_system_id_ = "unknown" |
recoring system id (e.g.: "Ke") More... | |
std::string | occupation_code_ = "unknown" |
occupation code (e.g.: "72425901") More... | |
Statistics | statistics_ |
station statistics More... | |
std::vector< std::vector< PointingVector > > | azelPrecalc_ |
pre calculated azimuth elevation lookup table More... | |
Parameters | parameters_ |
station parameters More... | |
PointingVector | currentPositionVector_ |
current pointing vector More... | |
unsigned int | nextEvent_ { 0 } |
index of next event More... | |
int | nScans_ { 0 } |
number of participated scans More... | |
int | nTotalScans_ { 0 } |
number of total scans More... | |
int | nObs_ { 0 } |
number of observed baselines More... | |
unsigned int | totalObsTime_ { 0 } |
total observing time in seconds More... | |
Static Private Attributes | |
static unsigned long | nextId = 0 |
next id for this object type More... | |
representation of a VLBI station
First all station objects must be created, usually via the VLBI_initializer::createStationsFromCatalogs() Afterwards stations need to be initialized via VLBI_initializer::initializeStations()
|
strong |
Station::Station | ( | std::string | sta_name, |
std::string | tlc, | ||
std::shared_ptr< AbstractAntenna > | sta_antenna, | ||
std::shared_ptr< AbstractCableWrap > | sta_cableWrap, | ||
std::shared_ptr< Position > | sta_position, | ||
std::shared_ptr< Equipment > | sta_equip, | ||
std::shared_ptr< AbstractHorizonMask > | sta_mask, | ||
unsigned long | nSources | ||
) |
constructor
sta_name | station name |
tlc | two letter code |
sta_antenna | station antenna |
sta_cableWrap | station cable wrap |
sta_position | station position |
sta_equip | station equipment |
sta_mask | station horizon mask |
nSources | number of sources |
void Station::addAdditionalParameters | ( | std::string | occupation_code, |
std::string | record_transport_type, | ||
std::string | electronics_rack_type, | ||
std::string | recording_system_ID | ||
) |
adds additional parameters such as hardware names and occupation code
occupation_code | occupation code |
record_transport_type | record transport type |
electronics_rack_type | electronics rack type |
recording_system_ID | recording system ID |
|
inline |
adds observing time to counter
|
noexcept |
changes parameters to next setup
of | output stream object |
|
noexcept |
calculation of azimuth, elevation, hour angle and declination with rigorouse model
source | observed source |
p | pointing vector |
|
noexcept |
calculation of azimuth, elevation, hour angle and declination with lookup tables
source | observed source |
p | pointing vector |
|
noexcept |
this function checks if it is time to change the parameters
time | current time in seconds since start |
hardBreak | flag if a hard break was found |
|
noexcept |
check for tagalong mode
time | time |
void Station::clearObservations | ( | ) |
clear all observations
|
noexcept |
distance between two stations
other | other station |
|
inlinenoexcept |
getter for antenna
|
inlinenoexcept |
getter for cable wrap
|
inlinenoexcept |
getter for current pointing vector
|
inlinenoexcept |
getter for last time this antenna was mentioned in scheduling
|
inline |
getter for electronics rack type_
|
inlinenoexcept |
getter for equipment information
|
noexcept |
get horizon mask
|
inline |
getter for horizon mask
|
inlinenoexcept |
getter for number of baselines which were already observed with this station
|
inlinenoexcept |
get number of scans
|
inlinenoexcept |
get number of total scans
|
inline |
getter for parameters
|
inlinenoexcept |
getter for position
|
inline |
getter for record transport type
|
inline |
getter for recording system id
|
inline |
get station statistics
|
inline |
get total scheduled observing time up to this point
|
inline |
check if station has horizon mask
|
inlinenoexcept |
increase number of observations by one
|
noexcept |
checks if a source is visible for this station
p | pointing vector which holds time information and will be filled with azimuth and elevation information |
minElevationSource | minimum elevation for this source |
bool Station::listDownTimes | ( | std::ofstream & | of, |
bool | skdFormat = false |
||
) | const |
lists downtime for this station
of | output file |
skdFormat | display output in skd format |
bool Station::listTagalongTimes | ( | std::ofstream & | of, |
bool | skdFormat = false |
||
) | const |
lists tagalong for this station
of | output file |
skdFormat | display output in skd format |
|
noexcept |
maxium allowed observing time
ts | time stamp |
|
inlinenoexcept |
reference to cable wrap
|
inline |
reference to current parameters
|
inline |
reference parameters to add multi-scheduling setup
|
noexcept |
change current pointing vector
pointingVector | new current pointing vector |
|
inlinenoexcept |
sets all upcoming events
EVENTS | all upcoming events |
|
inlinenoexcept |
set next event index
idx | next event index |
|
inline |
set station statistics
stat | station statistics |
|
noexcept |
calculate slew time between current pointing vector and this pointing vector
If this is the first scan of this station the slew time is zero.
pointingVector | slew end position |
void Station::toVexAntennaBlock | ( | std::ofstream & | of | ) | const |
writes antenna defining block in vex format
of | vex file |
void Station::toVexSiteBlock | ( | std::ofstream & | of | ) | const |
writes site defining block in vex format
of | vex file |
void Station::toVexStationBlock | ( | std::ofstream & | of | ) | const |
writes station defining block in vex format
of | vex file |
|
noexcept |
update station if used for a scan
nbl | number of observed baselines |
end | pointing vector at end time |
addToStatistics | flag if scan should have an influence on the further scheduling process |
|
private |
station antenna
|
private |
pre calculated azimuth elevation lookup table
|
private |
station cable wrap
|
private |
current pointing vector
|
private |
electronics rack type (e.g.: "DBBC")
|
private |
station equipment
|
private |
list of all events
|
private |
station horizon mask
|
private |
index of next event
|
staticprivate |
next id for this object type
|
private |
number of observed baselines
|
private |
number of participated scans
|
private |
number of total scans
|
private |
occupation code (e.g.: "72425901")
|
private |
one letter code for skd file
|
private |
station parameters
|
private |
station position
|
private |
record transport_type (e.g.: "MARK5B")
|
private |
recoring system id (e.g.: "Ke")
|
private |
station statistics
|
private |
total observing time in seconds