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

#include <Satellite.h>

Inheritance diagram for VieVS::Satellite:
Collaboration diagram for VieVS::Satellite:

Public Member Functions

 Satellite (const std::string &hdr, const std::string &l1, const std::string &l2, std::unordered_map< std::string, std::unique_ptr< AbstractFlux >> &src_flux)
 constructor More...
 
std::vector< double > getSourceInCrs (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const override
 get source postion in celestial reference frame More...
 
std::pair< double, double > getRaDe (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const noexceptoverride
 
void toVex (std::ofstream &of) const override
 
void toNgsHeader (std::ofstream &of) const override
 
std::pair< double, double > calcRaDe (unsigned int time, const std::shared_ptr< const Position > &sta_pos) const
 
void addpSGP4Data (const std::string &hdr, const std::string &l1, const std::string &l2)
 
- 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...
 
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 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...
 

Static Private Member Functions

static DateTime internalTime2sgpt4Time (unsigned int time)
 
static boost::posix_time::ptime extractReferenceEpoch (const std::string &l1)
 

Private Attributes

std::string header_
 header line of TLE Data More...
 
std::string line1_
 first line of TLE Data More...
 
std::string line2_
 second line of TLE Data More...
 
std::vector< std::pair< boost::posix_time::ptime, SGP4 > > pSGP4Data_
 pointer to SGP4 Data + epoch More...
 

Static Private Attributes

static unsigned long nextId
 next id for this object type 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

Satellite::Satellite ( const std::string &  hdr,
const std::string &  l1,
const std::string &  l2,
std::unordered_map< std::string, std::unique_ptr< AbstractFlux >> &  src_flux 
)

constructor

Author
Helene Wolf and Matthias Schartner
Parameters
hdrheader line of TLE data
l1first line of TLE data
l2second line of TLE data

Here is the call graph for this function:

Member Function Documentation

void VieVS::Satellite::addpSGP4Data ( const std::string &  hdr,
const std::string &  l1,
const std::string &  l2 
)
inline

Here is the call graph for this function:

pair< double, double > Satellite::calcRaDe ( unsigned int  time,
const std::shared_ptr< const Position > &  sta_pos 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

boost::posix_time::ptime Satellite::extractReferenceEpoch ( const std::string &  l1)
staticprivate

Here is the caller graph for this function:

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

Implements VieVS::AbstractSource.

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector< double > Satellite::getSourceInCrs ( unsigned int  time,
const std::shared_ptr< const Position > &  sta_pos 
) const
overridevirtual

get source postion in celestial reference frame

Author
Matthias Schartner
Parameters
timereference time
Returns
source position in celestial reference frame

Implements VieVS::AbstractSource.

Here is the call graph for this function:

static DateTime VieVS::Satellite::internalTime2sgpt4Time ( unsigned int  time)
inlinestaticprivate

Here is the call graph for this function:

Here is the caller graph for this function:

void Satellite::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 Satellite::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

std::string VieVS::Satellite::header_
private

header line of TLE Data

std::string VieVS::Satellite::line1_
private

first line of TLE Data

std::string VieVS::Satellite::line2_
private

second line of TLE Data

unsigned long VieVS::Satellite::nextId
staticprivate

next id for this object type

std::vector<std::pair<boost::posix_time::ptime, SGP4> > VieVS::Satellite::pSGP4Data_
private

pointer to SGP4 Data + epoch


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