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

track section of observing mode More...

#include <Track.h>

Inheritance diagram for VieVS::Track:
Collaboration diagram for VieVS::Track:

Classes

class  Fanout_definition
 Fanout definition. More...
 

Public Types

enum  Bitstream { Bitstream::sign, Bitstream::mag }
 bitstream types More...
 

Public Member Functions

 Track (std::string name)
 constructor More...
 
 Track (const boost::property_tree::ptree &tree)
 constructor More...
 
std::map< std::string, int > numberOfBitsPerChannel (const std::shared_ptr< const Track > &other) const
 get number of recording bits between two TRACKS blocks More...
 
std::map< std::string, int > numberOfBitsPerChannel () const
 get number of recording bits More...
 
int numberOfTracks () const
 number of tracks More...
 
void addFanout (std::string subpass, std::string trksId, Bitstream bitstream, int headstack_number, int first_multiplex_track, int second_multiplex_track=-999, int third_multiplex_track=-999, int fourth_multiplex_track=-999)
 add new fanout More...
 
void toVexTracksDefinition (std::ofstream &of, const std::string &comment="") const
 writes TRACKS block in vex format More...
 
boost::property_tree::ptree toPropertytree () const
 converts object to property tree More...
 
const std::vector< Fanout_definition > & getFanout_defs () const
 get fanout definitions More...
 
std::vector< Fanout_definition > & refFanout_defs ()
 reference fanout 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 (Bitstream b)
 convert bitstream type to vex format string More...
 
static Bitstream bitstreamFromString (const std::string &name)
 convert vex format string to bitstream type More...
 

Private Attributes

std::vector< Fanout_definitionfanout_definitions_
 list of fanout definitions More...
 

Static Private Attributes

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

Detailed Description

track section of observing mode

following vex standard The $TRACKS block defines the various multiplex (fan-in and fan-out) modes that can be used to record data with Mark 5A recorders. For purposes of multiplex definitions, the sample data from each channel are separated into a 'sign' bitstream and (for 2-bit sampling) a 'magnitude' bitstream. The fan-out modes (single bitstream to 1, 2 or 4 tracks) are defined with a set of fanout_def statements, one such statement for each bitstream, which defines the destination tracks and bit ordering among the tracks. In this way a complete definition of the multiplex format is specified. The 'ChanID' linkword in each fanout_def statement connects a particular bitstream to the selected 'def' in the $FREQ block.

Author
Matthias Schartner
Date
17.09.2018

Member Enumeration Documentation

bitstream types

Author
Matthias Schartner
Enumerator
sign 

sign

mag 

magnitude

Constructor & Destructor Documentation

Track::Track ( std::string  name)
explicit

constructor

Author
Matthias Schartner
Parameters
nametracks name

Here is the caller graph for this function:

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

constructor

Author
Matthias Schartner
Parameters
treeinput property tree from xml file

Member Function Documentation

void Track::addFanout ( std::string  subpass,
std::string  trksId,
Bitstream  bitstream,
int  headstack_number,
int  first_multiplex_track,
int  second_multiplex_track = -999,
int  third_multiplex_track = -999,
int  fourth_multiplex_track = -999 
)

add new fanout

Author
Matthias Schartner
Parameters
subpassSub-pass ID
trksId'Chan_ID' linkword
bitstreamSign or magnitude bitstream
headstack_numberHeadstack number
first_multiplex_trackFirst multiplex track
second_multiplex_trackSecond multiplex track
third_multiplex_trackThird multiplex track
fourth_multiplex_trackFourth multiplex track

Here is the caller graph for this function:

static Bitstream VieVS::Track::bitstreamFromString ( const std::string &  name)
inlinestatic

convert vex format string to bitstream type

Author
Matthias Schartner
Parameters
namename in vex format
Returns
bitsream type

Here is the call graph for this function:

Here is the caller graph for this function:

const std::vector<Fanout_definition>& VieVS::Track::getFanout_defs ( ) const
inline

get fanout definitions

Author
Matthias schartner

necessary for custom observing mode in GUI

Returns
all fanout definitions
map< string, int > Track::numberOfBitsPerChannel ( const std::shared_ptr< const Track > &  other) const

get number of recording bits between two TRACKS blocks

Author
Matthias Schartner
Parameters
otherother TRACKS block
Returns
number of recording bits per channel
map< string, int > Track::numberOfBitsPerChannel ( ) const

get number of recording bits

Author
Matthias Schartner
Returns
number of recording bits per channel

Here is the caller graph for this function:

int VieVS::Track::numberOfTracks ( ) const
inline

number of tracks

Author
Matthias Schartner
Returns
number of track definitions

Here is the call graph for this function:

std::vector<Fanout_definition>& VieVS::Track::refFanout_defs ( )
inline

reference fanout definitions

Author
Matthias schartner

necessary for custom observing mode in GUI

Returns
reference to all fanout definitions
boost::property_tree::ptree Track::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::Track::toString ( Bitstream  b)
inlinestatic

convert bitstream type to vex format string

Author
Matthias Schartner
Parameters
bbitsream type
Returns
name in vex format

Here is the caller graph for this function:

void Track::toVexTracksDefinition ( std::ofstream &  of,
const std::string &  comment = "" 
) const

writes TRACKS 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<Fanout_definition> VieVS::Track::fanout_definitions_
private

list of fanout definitions

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

next id for this object type


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