VieSched++
VieVS VLBI Scheduling Software
VieVS::Quasar Class Reference

#include <Quasar.h>

Inheritance diagram for VieVS::Quasar:
Collaboration diagram for VieVS::Quasar:

Classes

struct  PreCalculated
 pre calculated parameters More...
 

Public Member Functions

 Quasar (const std::string &src_name, const std::string &src_name2, double src_ra_deg, double src_de_deg, std::unordered_map< std::string, std::unique_ptr< AbstractFlux >> &src_flux)
 constructor More...
 
double getDe () const noexcept
 
double getRa () const noexcept
 
std::pair< double, double > getRaDe (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const noexceptoverride
 
std::vector< double > getSourceInCrs (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const override
 get source position in CRS More...
 
std::vector< double > getSourceInCrs () const
 
bool checkForNewEvent (unsigned int time, bool &hardBreak) noexceptoverride
 this function checks if it is time to change the parameters More...
 
void toVex (std::ofstream &of) const override
 
void toNgsHeader (std::ofstream &of) const override
 
- Public Member Functions inherited from VieVS::AbstractSource
 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 ParametersgetPARA () const
 getter of parameter object More...
 
ParametersreferencePARA ()
 reference of parameter object More...
 
OptimizationreferenceCondition ()
 reference for optimization conditions More...
 
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 OptimizationgetOptimization () 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...
 
ParametersrefParaForMultiScheduling ()
 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...
 
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 StatisticsgetStatistics () 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

double ra_
 source right ascension More...
 
double de_
 source declination More...
 
std::shared_ptr< PreCalculatedpreCalculated_
 pre calculated values More...
 

Additional Inherited Members

- Public Types inherited from VieVS::AbstractSource
enum  TryToFocusOccurrency { TryToFocusOccurrency::once, TryToFocusOccurrency::perScan }
 source parameters More...
 
enum  TryToFocusType { TryToFocusType::additive, TryToFocusType::multiplicative }
 try to focus type More...
 

Constructor & Destructor Documentation

Quasar::Quasar ( const std::string &  src_name,
const std::string &  src_name2,
double  src_ra_deg,
double  src_de_deg,
std::unordered_map< std::string, std::unique_ptr< AbstractFlux >> &  src_flux 
)

constructor

Author
Matthias Schartner
Parameters
src_namename of the source
src_name2alternative name of source
src_ra_degright ascension in degrees
src_de_degdeclination in degrees
src_fluxflux information per band

Member Function Documentation

bool Quasar::checkForNewEvent ( unsigned int  time,
bool &  hardBreak 
)
overridevirtualnoexcept

this function checks if it is time to change the parameters

Author
Matthias Schartner
Parameters
timecurrent time
hardBreakflags this to true if a hard break was found
Returns
true if a new event was found

Reimplemented from VieVS::AbstractSource.

Here is the call graph for this function:

Here is the caller graph for this function:

double VieVS::Quasar::getDe ( ) const
inlinenoexcept

Here is the caller graph for this function:

double VieVS::Quasar::getRa ( ) const
inlinenoexcept

Here is the caller graph for this function:

std::pair<double, double> VieVS::Quasar::getRaDe ( unsigned int  time,
const std::shared_ptr< const Position > &  sta_pos 
) const
inlineoverridevirtualnoexcept

Implements VieVS::AbstractSource.

std::vector<double> VieVS::Quasar::getSourceInCrs ( unsigned int  time,
const std::shared_ptr< const Position > &  sta_pos 
) const
inlineoverridevirtual

get source position in CRS

Author
Matthias Schartner
Returns
source position vector

Implements VieVS::AbstractSource.

std::vector<double> VieVS::Quasar::getSourceInCrs ( ) const
inline

Here is the call graph for this function:

void Quasar::toNgsHeader ( std::ofstream &  of) const
overridevirtual

Implements VieVS::AbstractSource.

Here is the call graph for this function:

Here is the caller graph for this function:

void Quasar::toVex ( std::ofstream &  of) const
overridevirtual

Implements VieVS::AbstractSource.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

double VieVS::Quasar::de_
private

source declination

std::shared_ptr<PreCalculated> VieVS::Quasar::preCalculated_
private

pre calculated values

double VieVS::Quasar::ra_
private

source right ascension


The documentation for this class was generated from the following files: