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

define high impact scans More...

#include <HighImpactScanDescriptor.h>

Inheritance diagram for VieVS::HighImpactScanDescriptor:
Collaboration diagram for VieVS::HighImpactScanDescriptor:

Classes

class  AzElDescriptor
 azimuth elevation based high impact scan descriptor More...
 

Public Member Functions

 HighImpactScanDescriptor (unsigned int interval, unsigned int minTimeBetweenScans)
 constructor More...
 
void addAzElDescriptor (double az, double el, double margin, const std::vector< unsigned long > &staids)
 add azimuth elevation based high impact scan selection More...
 
double highImpactScore (const PointingVector &pv) const
 calc high impact score per station More...
 
double highImpactScore (const Scan &scan) const
 calc high impact score per scan More...
 
unsigned int getInterval () const
 get target interval More...
 
unsigned int getMinTimeBetweenScans () const
 get minimum time between high impact scans More...
 
std::vector< unsigned long > getStationIds () const
 list of stations with high impact descriptions More...
 
void possibleHighImpactScans (unsigned int time, const Network &network, const SourceList &sourceList)
 calc possible high impact scans More...
 
void updateHighImpactScans (const Network &network, const SourceList &sourceList, const std::shared_ptr< const Mode > &mode, const std::shared_ptr< Subnetting > &subnetting)
 update high impact scans More...
 
std::vector< ScanhighestImpactScans (Network &network, const SourceList &sourceList, const std::shared_ptr< const Mode > &mode)
 get highest impact scans More...
 
bool isCorrectHighImpactScan (const Scan &target, const std::vector< Scan > &scans, std::shared_ptr< const AbstractSource > source)
 check if target scan is valid high impact scans More...
 
bool hasMoreScans ()
 checks if there are more possible high impact scans More...
 
void updateLogfile (std::ofstream &of)
 update log file for new high impact scans 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

unsigned int interval_
 test interval in seconds More...
 
unsigned int minTimeBetweenScans_
 minimum time between high impact scans in seconds More...
 
std::vector< AzElDescriptorazElDescritors_
 list of azimuth elevation descriptors More...
 
std::vector< std::map< unsigned long, double > > scores_
 list of scores by high impact scans More...
 
Subcon highImpactScans_
 high impact scan subcon More...
 

Static Private Attributes

static unsigned long nextId = 0
 next id for this object type More...
 

Detailed Description

define high impact scans

Author
Matthias Schartner
Date
27.04.2018

Constructor & Destructor Documentation

HighImpactScanDescriptor::HighImpactScanDescriptor ( unsigned int  interval,
unsigned int  minTimeBetweenScans 
)

constructor

Author
Matthias Schartner
Parameters
intervaltest interval in seconds
minTimeBetweenScansminimum time between high impact scans in seconds

Member Function Documentation

void HighImpactScanDescriptor::addAzElDescriptor ( double  az,
double  el,
double  margin,
const std::vector< unsigned long > &  staids 
)

add azimuth elevation based high impact scan selection

Author
Matthias Schartner
Parameters
aztarget azimuth in radians
eltarget elevation in radians
marginazimuth elevation margin in radians
staidslist of stations with high impact descriptions

Here is the caller graph for this function:

unsigned int VieVS::HighImpactScanDescriptor::getInterval ( ) const
inline

get target interval

Author
Matthias Schartner
Returns
interval in seconds

Here is the caller graph for this function:

unsigned int VieVS::HighImpactScanDescriptor::getMinTimeBetweenScans ( ) const
inline

get minimum time between high impact scans

Author
Matthias Schartner
Returns
minimum time between high impact scans in seconds

Here is the call graph for this function:

std::vector< unsigned long > HighImpactScanDescriptor::getStationIds ( ) const

list of stations with high impact descriptions

Author
Matthias Schartner
Returns
list of stations

Here is the caller graph for this function:

bool VieVS::HighImpactScanDescriptor::hasMoreScans ( )
inline

checks if there are more possible high impact scans

Author
Matthias Schartner
Returns
true if there are more possible high impact scans, otherwise false

Here is the call graph for this function:

Here is the caller graph for this function:

vector< Scan > HighImpactScanDescriptor::highestImpactScans ( Network network,
const SourceList sourceList,
const std::shared_ptr< const Mode > &  mode 
)

get highest impact scans

Author
Matthias Schartner
Parameters
networkstation network
sourceListsource list
modeobserving mode
Returns
list of scans with highest impact score

Here is the call graph for this function:

Here is the caller graph for this function:

double HighImpactScanDescriptor::highImpactScore ( const PointingVector pv) const

calc high impact score per station

Author
Matthias Schartner
Parameters
pvtarget pointing vector
Returns
high impact score per station
double HighImpactScanDescriptor::highImpactScore ( const Scan scan) const

calc high impact score per scan

Author
Matthias Schartner
Parameters
scantarget scan
Returns
high impact score per scan

Here is the call graph for this function:

bool HighImpactScanDescriptor::isCorrectHighImpactScan ( const Scan target,
const std::vector< Scan > &  scans,
std::shared_ptr< const AbstractSource source 
)

check if target scan is valid high impact scans

Author
Matthias Schartner

based on minimum time between high impact scans

Parameters
targettarget scan
scansalready scheduled scans
sourcetarget source
Returns
true if target scan is valid high impact scan, otherwise false

Here is the call graph for this function:

Here is the caller graph for this function:

void HighImpactScanDescriptor::possibleHighImpactScans ( unsigned int  time,
const Network network,
const SourceList sourceList 
)

calc possible high impact scans

Author
Matthias Schartner
Parameters
timetarget time
networkstation network
sourceListsource list

Here is the call graph for this function:

Here is the caller graph for this function:

void HighImpactScanDescriptor::updateHighImpactScans ( const Network network,
const SourceList sourceList,
const std::shared_ptr< const Mode > &  mode,
const std::shared_ptr< Subnetting > &  subnetting 
)

update high impact scans

Author
Matthias Schartner
Parameters
networkstation network
sourceListsource list
modeobserving mode
subnettingsubnetting information

Here is the call graph for this function:

Here is the caller graph for this function:

void HighImpactScanDescriptor::updateLogfile ( std::ofstream &  of)

update log file for new high impact scans

Author
Matthias Schartner
Parameters
ofout file stream

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

std::vector<AzElDescriptor> VieVS::HighImpactScanDescriptor::azElDescritors_
private

list of azimuth elevation descriptors

Subcon VieVS::HighImpactScanDescriptor::highImpactScans_
private

high impact scan subcon

unsigned int VieVS::HighImpactScanDescriptor::interval_
private

test interval in seconds

unsigned int VieVS::HighImpactScanDescriptor::minTimeBetweenScans_
private

minimum time between high impact scans in seconds

unsigned long HighImpactScanDescriptor::nextId = 0
staticprivate

next id for this object type

std::vector<std::map<unsigned long, double> > VieVS::HighImpactScanDescriptor::scores_
private

list of scores by high impact scans


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