![]() |
VieSched++
VieVS VLBI Scheduling Software
|
Information about which station can be used for fillin mode and how much time is available. More...
#include <StationEndposition.h>
Public Types | |
enum | change { change::start, change::end } |
Public Member Functions | |
StationEndposition (unsigned long nsta) | |
constructor More... | |
void | addPointingVectorAsEndposition (const PointingVector &pv) |
add new endposition More... | |
void | checkStationPossibility (const Station &station) |
check if scan is possible for this station More... | |
bool | checkStationPossibility (const std::vector< Station > &station) |
check if scan is possible for all stations More... | |
bool | getStationPossible (unsigned long staid) const noexcept |
get flag if scan is possible with this station More... | |
bool | hasEndposition (unsigned long staid) const noexcept |
check if station has endposition More... | |
unsigned int | requiredEndpositionTime (unsigned long staid, bool flag_rigorous=true) const |
get required scan end time More... | |
bool | hugeOffset (unsigned long staid) const |
const std::vector< boost::optional< PointingVector > > & | getFinalPosition () const noexcept |
getter for all desired positions at the end of the fillin scans. More... | |
const boost::optional< PointingVector > & | getFinalPosition (unsigned long staid) const noexcept |
get final position of station More... | |
bool | getStationAvailable (unsigned long staid) const noexcept |
get flag if station is available More... | |
bool | everyStationInitialized () const noexcept |
check if every station is initialized More... | |
std::set< unsigned long > | getObservedSources (unsigned int time, const SourceList &sourceList) const noexcept |
get observed sources More... | |
unsigned int | getEarliestScanStart () const noexcept |
get earliest possible scan start More... | |
void | setStationAvailable (const std::vector< Station > &stations) |
set station available flags 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::vector< char > | stationAvailable_ |
saves available state of station More... | |
std::vector< char > | stationPossible_ |
true if it is possible to use this station More... | |
std::vector< boost::optional< PointingVector > > | finalPosition_ |
final required end position for all stations More... | |
unsigned int | earliestScanStart_ = TimeSystem::duration |
earliest scan start More... | |
Static Private Attributes | |
static unsigned long | nextId = 0 |
next id for this object type More... | |
Information about which station can be used for fillin mode and how much time is available.
The available time is the time between the end of the slew time to the next source and the start of the scan of the next scan. If a station is not participating in all following next scans the available time is the time between the end of the last scan the station was participating and the earliest start of the next scan.
|
strong |
|
explicit |
constructor
nsta | number of stations |
void StationEndposition::addPointingVectorAsEndposition | ( | const PointingVector & | pv | ) |
add new endposition
pv | endposition pointing vector |
void StationEndposition::checkStationPossibility | ( | const Station & | station | ) |
check if scan is possible for this station
station | station |
bool StationEndposition::checkStationPossibility | ( | const std::vector< Station > & | station | ) |
check if scan is possible for all stations
station | all stations |
|
inlinenoexcept |
check if every station is initialized
|
inlinenoexcept |
get earliest possible scan start
|
inlinenoexcept |
getter for all desired positions at the end of the fillin scans.
This end positions are the start positions of the following scan. If a station is not participating in the following scans a default pointing vector is used. This information is than also stored in the getStationUnused() function.
|
inlinenoexcept |
get final position of station
staid | station id |
|
noexcept |
get observed sources
time | current scheduling time |
sourceList | list of all sources |
|
inlinenoexcept |
get flag if station is available
staid | station id |
|
inlinenoexcept |
get flag if scan is possible with this station
staid | station id |
|
inlinenoexcept |
check if station has endposition
staid | station id |
bool StationEndposition::hugeOffset | ( | unsigned long | staid | ) | const |
staid |
unsigned int StationEndposition::requiredEndpositionTime | ( | unsigned long | staid, |
bool | flag_rigorous = true |
||
) | const |
get required scan end time
if rigorous check is false: use earliest_scan_start_time instead of final_position_time in case the difference is larger than 20 minutes
staid | station id |
flag_rigorous | rigorous check |
void StationEndposition::setStationAvailable | ( | const std::vector< Station > & | stations | ) |
set station available flags
stations | list of stations |
|
private |
earliest scan start
|
private |
final required end position for all stations
|
staticprivate |
next id for this object type
|
private |
saves available state of station
|
private |
true if it is possible to use this station