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

IF section of observing mode. More...

#include <If.h>

Inheritance diagram for VieVS::If:
Collaboration diagram for VieVS::If:

Classes

class  If_def
 IF definition. More...
 

Public Types

enum  Polarization {
  Polarization::R, Polarization::L, Polarization::X, Polarization::Y,
  Polarization::H, Polarization::V, Polarization::undefined
}
 polarization types More...
 
enum  Net_sidband { Net_sidband::U, Net_sidband::L, Net_sidband::D, Net_sidband::undefined }
 net sideband types More...
 

Public Member Functions

 If (std::string name)
 constructor More...
 
 If (const boost::property_tree::ptree &tree)
 constructor More...
 
void addIf (std::string name, std::string physical_name, Polarization polarization, double total_lo, Net_sidband net_sidband, double phase_cal_freq_spacing, double phase_cal_base_freqency)
 define new IF More...
 
boost::property_tree::ptree toPropertytree () const
 converts object to property tree More...
 
void toVecIfDefinition (std::ofstream &of, const std::string &comment="") const
 writes If block in vex format More...
 
const std::vector< If_def > & getIf_defs () const
 get IF definitions More...
 
std::vector< If_def > & refIf_defs ()
 reference IF definitions 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 Public Member Functions

static std::string toString (Polarization p)
 converts polarization to vex format string More...
 
static Polarization polarizationFromString (const std::string &s)
 convert vex format string to polarization type More...
 
static std::string toString (Net_sidband n)
 converts net sideband type to vex format string More...
 
static Net_sidband netSidebandFromString (const std::string &s)
 convert vex format string to net sideband type More...
 

Private Attributes

std::vector< If_defif_defs_
 list of IF definitions More...
 

Static Private Attributes

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

Detailed Description

IF section of observing mode.

following vex standard The $IF block defines the characteristics of the IF bands used in the observations and is linked to the $BBC block (which specifies the detailed BBC-to-IF connections). An if_def statement must be defined for each of the IF 'links' specified in the selected $BBC 'def'.

Author
Matthias Schartner
Date
17.09.2018

Member Enumeration Documentation

net sideband types

Author
Matthias Schartner
Enumerator

upper

lower

D?

undefined 

undefined

polarization types

Author
Matthias Schartner
Enumerator

right

left

x-axis

y-axis

horizontal

vertical

undefined 

undefined

Constructor & Destructor Documentation

If::If ( std::string  name)
explicit

constructor

Author
Matthias Schartner
Parameters
nameIF block name

Here is the caller graph for this function:

If::If ( const boost::property_tree::ptree &  tree)
explicit

constructor

Author
Matthias Schartner
Parameters
treeinput property tree from xml file

Member Function Documentation

void If::addIf ( std::string  name,
std::string  physical_name,
If::Polarization  polarization,
double  total_lo,
If::Net_sidband  net_sidband,
double  phase_cal_freq_spacing,
double  phase_cal_base_freqency 
)

define new IF

Author
Matthias Schartner
Parameters
name'IF_ID' link word
physical_namePhysical IF name
polarizationPolarization
total_loTotal effective LO of IF (just before signal enters BBC or sampler)
net_sidbandNet sideband of IF
phase_cal_freq_spacingPhase-cal frequency interval
phase_cal_base_freqencyPhase-cal base frequency

Here is the caller graph for this function:

const std::vector<If_def>& VieVS::If::getIf_defs ( ) const
inline

get IF definitions

Author
Matthias schartner

necessary for custom observing mode in GUI

Returns
all IF definitions
static Net_sidband VieVS::If::netSidebandFromString ( const std::string &  s)
inlinestatic

convert vex format string to net sideband type

Author
Matthias Schartner
Parameters
snet sideband name in vex format
Returns
net sideband type

Here is the call graph for this function:

Here is the caller graph for this function:

static Polarization VieVS::If::polarizationFromString ( const std::string &  s)
inlinestatic

convert vex format string to polarization type

Author
Matthias Schartner
Parameters
sname in vex format
Returns
polarization type

Here is the caller graph for this function:

std::vector<If_def>& VieVS::If::refIf_defs ( )
inline

reference IF definitions

Author
Matthias schartner

necessary for custom observing mode in GUI

Returns
reference to all IF definitions
boost::property_tree::ptree If::toPropertytree ( ) const

converts object to property tree

Author
Matthias Schartner
Returns
property tree

Here is the call graph for this function:

Here is the caller graph for this function:

static std::string VieVS::If::toString ( Polarization  p)
inlinestatic

converts polarization to vex format string

Author
Matthias Schartner
Parameters
ppolarization type
Returns
string in vex format

Here is the caller graph for this function:

static std::string VieVS::If::toString ( Net_sidband  n)
inlinestatic

converts net sideband type to vex format string

Author
Matthias Schartner
Parameters
nnet sideband type
Returns
string in vex format
void If::toVecIfDefinition ( std::ofstream &  of,
const std::string &  comment = "" 
) const

writes If block in vex format

Author
Matthias Schartner
Parameters
ofvex file stream
commentoptional comment

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

std::vector<If_def> VieVS::If::if_defs_
private

list of IF definitions

unsigned long VieVS::If::nextId = 0
staticprivate

next id for this object type


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