![]() |
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... | |
![]() | |
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< 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