![]() |
VieSched++
VieVS VLBI Scheduling Software
|
this is the VLBI scheduling class which is responsible for the scan selection and the creation of the schedule More...
#include <Scheduler.h>


Classes | |
| struct | Parameters |
| general parameters used for scheduling More... | |
| struct | PreCalculated |
| pre calculated values (deprecated) More... | |
Public Member Functions | |
| Scheduler (Initializer &init, std::string path, std::string fname) | |
| constructor More... | |
| Scheduler (std::string name, std::string path, Network network_, SourceList sourceList, std::vector< Scan > scans, boost::property_tree::ptree xml, std::shared_ptr< ObservingMode > obsModes_=nullptr) | |
| constructor More... | |
| void | start () noexcept |
| main function that starts the scheduling More... | |
| Subcon | createSubcon (const std::shared_ptr< Subnetting > &subnetting, Scan::ScanType type, const boost::optional< StationEndposition > &endposition=boost::none) noexcept |
| this function creates a subcon with all scans, times and scores More... | |
| Subcon | allVisibleScans (Scan::ScanType type, const boost::optional< StationEndposition > &endposition=boost::none, bool doNotObserveSourcesWithinMinRepeat=true) noexcept |
| constructs all visible scans More... | |
| void | update (Scan &scan, std::ofstream &of) noexcept |
| updates the selected next scans to the schedule More... | |
| void | consideredUpdate (unsigned long n1scans, unsigned long n2scans, int depth, std::ofstream &of) noexcept |
| updates and prints the number of all considered scans More... | |
| void | statistics (std::ofstream &of) |
| statistics output More... | |
| void | highImpactScans (HighImpactScanDescriptor &himp, std::ofstream &of) |
| schedule high impact scans More... | |
| void | calibratorBlocks (std::ofstream &of) |
| schedule calibrator blocks More... | |
| bool | checkAndStatistics (std::ofstream &of) noexcept |
| checks the schedule with an independend methode More... | |
| const SourceList & | getSourceList () const noexcept |
| get all sources More... | |
| const Network & | getNetwork () const noexcept |
| get station network More... | |
| const std::string & | getPath () const noexcept |
| get path More... | |
| const std::shared_ptr< const ObservingMode > & | getObservingMode () const noexcept |
| get observing mode network More... | |
| int | getNumberOfObservations () const noexcept |
| get number of observations scheduled in this observation More... | |
| const std::vector< Scan > & | getScans () const noexcept |
| get all scans More... | |
Public Member Functions inherited from VieVS::VieVS_NamedObject | |
| 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... | |
Public Member Functions inherited from VieVS::VieVS_Object | |
| 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 Member Functions | |
| void | startScanSelection (unsigned int endTime, std::ofstream &of, Scan::ScanType type, boost::optional< StationEndposition > &opt_endposition, boost::optional< Subcon > &subcon, int depth) |
| start recursive scan selection More... | |
| bool | checkForNewEvents (unsigned int time, bool output, std::ofstream &of, bool tagalong) noexcept |
| checks if some parameters need to be changed More... | |
| void | listSourceOverview (std::ofstream &of) noexcept |
| output of source overview More... | |
| void | startTagelongMode (Station &station, SkyCoverage &skyCoverage, std::ofstream &of) |
| start tagalong mode More... | |
| bool | checkOptimizationConditions (std::ofstream &of) |
| check optimization conditions More... | |
| void | changeStationAvailability (const boost::optional< StationEndposition > &endposition, StationEndposition::change change) |
| change station availability More... | |
| void | startScanSelectionBetweenScans (unsigned int duration, std::ofstream &of, Scan::ScanType type, bool output=false, bool ignoreTagalong=false) |
| start scan selection between scans More... | |
| void | resetAllEvents (std::ofstream &of, bool resetCurrentPointingVector=true) |
| reset all events to time zero More... | |
| void | ignoreTagalongParameter () |
| ignore tagalong parameter More... | |
| void | idleToScanTime (Timestamp ts, std::ofstream &of) |
| transform idle time to observing time More... | |
| void | sortSchedule (Timestamp ts=Timestamp::start) |
| sort schedule More... | |
| void | sortSchedule (unsigned long staid, Timestamp ts=Timestamp::start) |
| sort schedule based on station More... | |
| void | writeCalibratorStatistics (std::ofstream &of, std::vector< double > &highestElevations, std::vector< double > &lowestElevations) |
| write astrometric calibrator statistics More... | |
| void | writeCalibratorHeader (std::ofstream &of) |
| write astrometric calibrator block header More... | |
| void | updateObservingTimes () |
| updates the time of each observation according to the observing times of the station More... | |
| void | scheduleAPrioriScans (const boost::property_tree::ptree &ptree, std::ofstream &of) |
| add a priori scan More... | |
Static Private Member Functions | |
| static bool | calibratorUpdate (const std::vector< Scan > &bestScans, std::vector< double > &prevHighElevationScores, std::vector< double > &prevLowElevationScores, std::vector< double > &highestElevations, std::vector< double > &lowestElevations) |
| astrometric calibrator update More... | |
Private Attributes | |
| int | version_ |
| version More... | |
| std::string | path_ |
| path to VieSchedpp.xml directory More... | |
| boost::property_tree::ptree | xml_ |
| content of VieSchedpp.xml file More... | |
| SourceList | sourceList_ |
| session source list More... | |
| Network | network_ |
| station network More... | |
| std::shared_ptr< const ObservingMode > | obsModes_ = nullptr |
| observing modes More... | |
| std::shared_ptr< const Mode > | currentObservingMode_ = nullptr |
| current observing mode More... | |
| std::vector< Scan > | scans_ |
| all scans in schedule More... | |
| Parameters | parameters_ |
| general scheduling parameters More... | |
| PreCalculated | preCalculated_ |
| pre calculated values More... | |
| unsigned long | nSingleScansConsidered = 0 |
| considered single source scans More... | |
| unsigned long | nSubnettingScansConsidered = 0 |
| considered subnetting scans More... | |
| unsigned long | nObservationsConsidered = 0 |
| considered baselines More... | |
| boost::optional< HighImpactScanDescriptor > | himp_ |
| high impact scan descriptor More... | |
| std::vector< CalibratorBlock > | calib_ |
| calibrator impact scan descriptor More... | |
| boost::optional< MultiScheduling::Parameters > | multiSchedulingParameters_ |
| multi scheduling paramters More... | |
Static Private Attributes | |
| static unsigned long | nextId = 0 |
| next id for this object type More... | |
Friends | |
| class | Output |
this is the VLBI scheduling class which is responsible for the scan selection and the creation of the schedule
| VieVS::Scheduler::Scheduler | ( | Initializer & | init, |
| std::string | path, | ||
| std::string | fname | ||
| ) |
constructor
| init | initializer |
| path | path to VieSchedpp.xml file |
| fname | file name |
| Scheduler::Scheduler | ( | std::string | name, |
| std::string | path, | ||
| Network | network_, | ||
| SourceList | sourceList, | ||
| std::vector< Scan > | scans, | ||
| boost::property_tree::ptree | xml, | ||
| std::shared_ptr< ObservingMode > | obsModes_ = nullptr |
||
| ) |
constructor
| name | session name |
| path | session path |
| network_ | station network |
| sourceList | source list |
| scans | list of scans |
| xml | VieSchedpp.xml file |
|
noexcept |
constructs all visible scans
| type | scan type |
| endposition | required endposition |
| doNotObserveSourcesWithinMinRepeat | consider scans (with reduced weight) if they are within min repeat time |


| void Scheduler::calibratorBlocks | ( | std::ofstream & | of | ) |
schedule calibrator blocks
| of | outstream object |


|
staticprivate |
astrometric calibrator update
| bestScans | scheduled scans |
| prevHighElevationScores | previouse high elevation scores |
| prevLowElevationScores | previouse low elevation scores |
| highestElevations | highest elevation scores |
| lowestElevations | lowest elevation scores |


|
private |
change station availability
| endposition | required endpositions |
| change | change type |


|
noexcept |
checks the schedule with an independend methode
| of | outstream file object |


|
privatenoexcept |
checks if some parameters need to be changed
| time | current time in seconds since start |
| output | flag if output to log file is required |
| of | outstream file object |
| tagalong | schedule tagalong scans |


|
private |
check optimization conditions
| of | outstream object |


|
noexcept |
updates and prints the number of all considered scans
| n1scans | number of single source scans |
| n2scans | number of subnetting scans |
| depth | recursion depth |
| of | outstream file object |

|
noexcept |
this function creates a subcon with all scans, times and scores
| subnetting | true if subnetting is allowed, false otherwise |
| type | scan type |
| endposition | required endposition |


|
inlinenoexcept |
get station network
|
noexcept |
get number of observations scheduled in this observation

|
inlinenoexcept |
get observing mode network

|
inlinenoexcept |
get path
|
inlinenoexcept |
get all scans
|
inlinenoexcept |
get all sources
| void Scheduler::highImpactScans | ( | HighImpactScanDescriptor & | himp, |
| std::ofstream & | of | ||
| ) |
schedule high impact scans
| himp | high impact scan descriptor |
| of | outstream object |


|
private |
transform idle time to observing time
| ts | time stamp |
| of | outstrem object |


|
private |
ignore tagalong parameter


|
privatenoexcept |
output of source overview
| of | object |


|
private |
reset all events to time zero
| of | outstream object |
| resetCurrentPointingVector | change the current pointing vector |


|
private |
add a priori scan
| of | outfile stream |
| ptree | property tree including a priori scans |


|
private |
sort schedule
| ts | time stamp |


|
private |
sort schedule based on station
| staid | station id |
| ts | time stamp |
|
noexcept |
main function that starts the scheduling


|
private |
start recursive scan selection
| endTime | end time of this recursion |
| of | outstream object |
| type | scan type |
| opt_endposition | required endposition |
| subcon | precalculated subcon |
| depth | recursion depth |


|
private |
start scan selection between scans
for example fillin mode a posteriori
| duration | duration (deprecated?) |
| of | outstream object |
| type | scan type |
| output | output flag |
| ignoreTagalong | ignore tagalong modes flag |


|
private |
start tagalong mode
| station | tagalong station |
| skyCoverage | sky coverage of tagalong station |
| of | outstream object |


| void Scheduler::statistics | ( | std::ofstream & | of | ) |
statistics output
| of | output stream |

|
noexcept |
updates the selected next scans to the schedule
| scan | best possible next scans |
| of | outstream file object |


|
private |
updates the time of each observation according to the observing times of the station

|
private |
write astrometric calibrator block header
| of | outstream object |

|
private |
write astrometric calibrator statistics
| of | output stream object |
| highestElevations | highest elevations scheduled so far in astrometric calibrator block |
| lowestElevations | lowest elevations scheduled so far in astrometric calibrator block |


|
friend |
|
private |
calibrator impact scan descriptor
|
private |
current observing mode
|
private |
high impact scan descriptor
|
private |
multi scheduling paramters
|
private |
station network
|
staticprivate |
next id for this object type
|
private |
considered baselines
|
private |
considered single source scans
|
private |
considered subnetting scans
|
private |
observing modes
|
private |
general scheduling parameters
|
private |
path to VieSchedpp.xml directory
|
private |
pre calculated values
|
private |
all scans in schedule
|
private |
session source list
|
private |
version
|
private |
content of VieSchedpp.xml file