![]() |
VieSched++
VieVS VLBI Scheduling Software
|
representation of an abstract source which can be scheduled More...
#include <AbstractSource.h>


Classes | |
| struct | Event |
| changes in parameters More... | |
| struct | Optimization |
| optimization conditions More... | |
| class | Parameters |
| source parameters More... | |
| struct | Statistics |
| statistics More... | |
Public Types | |
| enum | TryToFocusOccurrency { TryToFocusOccurrency::once, TryToFocusOccurrency::perScan } |
| source parameters More... | |
| enum | TryToFocusType { TryToFocusType::additive, TryToFocusType::multiplicative } |
| try to focus type More... | |
Public Member Functions | |
| AbstractSource (const std::string &src_name, const std::string &src_name2, std::unordered_map< std::string, std::unique_ptr< AbstractFlux >> &src_flux) | |
| constructor More... | |
| virtual | ~AbstractSource ()=default |
| const Parameters & | getPARA () const |
| getter of parameter object More... | |
| Parameters & | referencePARA () |
| reference of parameter object More... | |
| Optimization & | referenceCondition () |
| reference for optimization conditions More... | |
| virtual std::vector< double > | getSourceInCrs (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const =0 |
| get source position in CRS More... | |
| virtual std::pair< double, double > | getRaDe (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const noexcept=0 |
| virtual void | toVex (std::ofstream &of) const =0 |
| virtual void | toNgsHeader (std::ofstream &of) const =0 |
| std::string | getRaString (double ang) const noexcept |
| getter for right ascension string More... | |
| std::string | getDeString (double ang) const noexcept |
| getter for declination string More... | |
| unsigned long | getNObs () const noexcept |
| getter for number of observed baselines More... | |
| unsigned long | getNClosures () const noexcept |
| getter for number of independent closure phases and amplitudes More... | |
| void | increaseNObs () noexcept |
| increase number of observations by one More... | |
| unsigned int | getNscans () const |
| geter for number of already scheduled scans to this source More... | |
| unsigned int | getNTotalScans () const |
| geter for number of already scheduled scans to this source More... | |
| const Optimization & | getOptimization () const |
| get optimization conditons More... | |
| unsigned int | lastScanTime () const noexcept |
| looks for last scan time More... | |
| void | setEVENTS (std::vector< Event > &EVENTS) noexcept |
| sets all events to this source More... | |
| Parameters & | refParaForMultiScheduling () |
| reference parameters to add multi-scheduling setup More... | |
| void | setNextEvent (unsigned int nextEvent) |
| set next event index More... | |
| double | getMaxFlux () const noexcept |
| get maxium possible flux density More... | |
| double | getSunDistance (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const noexcept |
| get sun distance More... | |
| double | observedFlux (const std::string &band, unsigned int time, double gmst, const std::vector< double > &dxyz) const noexcept |
| observed flux density per band More... | |
| std::pair< double, double > | calcUV (unsigned int time, double gmst, const std::vector< double > &dxyz) const noexcept |
| calc projection of baseline in uv plane More... | |
| virtual bool | checkForNewEvent (unsigned int time, bool &hardBreak) noexcept |
| this function checks if it is time to change the parameters More... | |
| void | update (unsigned long nsta, unsigned long nbl, unsigned int time, bool addToStatistics) noexcept |
| updates scan to this source More... | |
| void | clearObservations () |
| clear all observations More... | |
| void | setStatistics (const Statistics &stat) |
| set source statistics More... | |
| const Statistics & | getStatistics () const |
| get source statistics More... | |
| double | observedFlux_model (double wavelength, unsigned int time, double gmst, const std::vector< double > &dxyz) const |
| calculate flux density of any band based on available flux densities More... | |
| bool | hasFluxInformation (const std::string &band) const |
| checks if flux information is available 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 Attributes | |
| std::shared_ptr< std::unordered_map< std::string, std::unique_ptr< AbstractFlux > > > | flux_ |
| source flux information per band More... | |
| std::vector< Event > | events_ |
| list of all events More... | |
| std::shared_ptr< Optimization > | condition_ |
| optimization conditions More... | |
| Statistics | statistics_ |
| statistics More... | |
| Parameters | parameters_ |
| parameters More... | |
| unsigned int | nextEvent_ { 0 } |
| index of next event More... | |
| unsigned int | lastScan_ { 0 } |
| last scan to this source More... | |
| unsigned int | nScans_ { 0 } |
| number of scans to this source that have influence on scheduling algorithms More... | |
| unsigned int | nTotalScans_ { 0 } |
| number of total scans More... | |
| unsigned long | nObs_ { 0 } |
| number of observed baselines to this source More... | |
| unsigned long | nClosures_ { 0 } |
| number of independent closure phases and amplitudes More... | |
Static Private Attributes | |
| static unsigned long | nextId = 0 |
| next id for this object type More... | |
representation of an abstract source which can be scheduled
First all source objects must be created, usually via the VLBI_initializer::createSourcesFromCatalogs() Afterwards sources need to be initialized via VLBI_initializer::initializeSources()
|
strong |
|
strong |
| AbstractSource::AbstractSource | ( | const std::string & | src_name, |
| const std::string & | src_name2, | ||
| std::unordered_map< std::string, std::unique_ptr< AbstractFlux >> & | src_flux | ||
| ) |
constructor
| src_name | name of the source |
| src_name2 | alternative name of source |
| src_ra_deg | right ascension in degrees |
| src_de_deg | declination in degrees |
| src_flux | flux information per band |
|
virtualdefault |
|
noexcept |
calc projection of baseline in uv plane
| gmst | greenwich mean sidereal time |
| dxyz | baseline vector |


|
virtualnoexcept |
this function checks if it is time to change the parameters
| time | current time |
| hardBreak | flags this to true if a hard break was found |
Reimplemented in VieVS::Quasar.


| void AbstractSource::clearObservations | ( | ) |
clear all observations


|
noexcept |
getter for declination string

|
noexcept |
get maxium possible flux density

|
inlinenoexcept |
getter for number of independent closure phases and amplitudes
|
inlinenoexcept |
getter for number of observed baselines
|
inline |
geter for number of already scheduled scans to this source
|
inline |
geter for number of already scheduled scans to this source
|
inline |
get optimization conditons
|
inline |
getter of parameter object

|
pure virtualnoexcept |
|
noexcept |
getter for right ascension string

|
pure virtual |
get source position in CRS
Implemented in VieVS::Quasar, and VieVS::Satellite.

|
inline |
get source statistics

|
noexcept |
get sun distance


|
inline |
checks if flux information is available
| band | band name |
|
inlinenoexcept |
increase number of observations by one
|
inlinenoexcept |
looks for last scan time
|
noexcept |
observed flux density per band
| band | observed band |
| gmst | greenwhich meridian sedirial time |
| dxyz | coordinate difference of participating stations |


| double AbstractSource::observedFlux_model | ( | double | wavelength, |
| unsigned int | time, | ||
| double | gmst, | ||
| const std::vector< double > & | dxyz | ||
| ) | const |
calculate flux density of any band based on available flux densities
| wavelength | target wavelength |
| gmst | greenwhich meridian sedirial time |
| dxyz | coordinate difference of participating stations |


|
inline |
reference for optimization conditions

|
inline |
reference of parameter object

|
inline |
reference parameters to add multi-scheduling setup
|
inlinenoexcept |
sets all events to this source
| EVENTS | list of all events |
|
inline |
set next event index
| nextEvent | index |

|
inline |
set source statistics
| stat | source statistics |
|
pure virtual |
|
pure virtual |
|
noexcept |
updates scan to this source
| nsta | number of stations |
| nbl | number of baselines observed in scan to this source |
| time | scan end time in seconds since start |
| addToStatistics | flag if scan should have an influence on the further scheduling process |

|
private |
optimization conditions
|
private |
list of all events
|
private |
source flux information per band
|
private |
last scan to this source
|
private |
number of independent closure phases and amplitudes
|
private |
index of next event
|
staticprivate |
next id for this object type
|
private |
number of observed baselines to this source
|
private |
number of scans to this source that have influence on scheduling algorithms
|
private |
number of total scans
|
private |
parameters
|
private |
statistics