HOPS
HOPS class reference
Classes | Public Member Functions | List of all members
hops::MHO_DiFXChannelNameConstructor Class Reference

Class MHO_DiFXChannelNameConstructor. More...

#include <MHO_DiFXChannelNameConstructor.hh>

Public Member Functions

 MHO_DiFXChannelNameConstructor ()
 
virtual ~MHO_DiFXChannelNameConstructor ()
 
void AddBandLabel (std::string band_label, double freq_low, double freq_high)
 Adds a frequency range for a specific band label. More...
 
void AddChannelNames (mho_json &vex_root)
 Adds channel names to VEX experiment data based on scan and mode information. More...
 
void SetGlobalSkyFreqGrid (const std::vector< double > &grid_MHz, double tol=MHO_SkyFreqGrid::DEFAULT_TOL_MHZ)
 Provide a precomputed global sky-frequency grid (MHz, sorted ascending, deduped). When set, AddChannelNames uses this grid for chidx assignment (instead of building one per-station from chan_defs) and drops any chan_def whose sky_freq isn't in the grid. This is what keeps chan_def.channel_name in lockstep with the chan_ids MHO_DiFXBaselineProcessor writes into mark4 t101 records. More...
 
void SetScanName (std::string scan_id)
 Setter for scan name if the (o)vex file has more than one scan, we may want to specify a specific one in order to construct the channel names, otherwise, we will just use the first in the schedule (assumes there is not later change to channel setup) More...
 

Detailed Description

Class MHO_DiFXChannelNameConstructor.

Name channels in a vex object, according to the d2m4 convention. Needed in order to convert vex to ovex.

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Tue Jul 12 16:54:42 2022 -0400

Constructor & Destructor Documentation

◆ MHO_DiFXChannelNameConstructor()

hops::MHO_DiFXChannelNameConstructor::MHO_DiFXChannelNameConstructor ( )

◆ ~MHO_DiFXChannelNameConstructor()

hops::MHO_DiFXChannelNameConstructor::~MHO_DiFXChannelNameConstructor ( )
virtual

Member Function Documentation

◆ AddBandLabel()

void hops::MHO_DiFXChannelNameConstructor::AddBandLabel ( std::string  band_label,
double  freq_low,
double  freq_high 
)

Adds a frequency range for a specific band label.

Parameters
band_labelBand label as string
freq_lowLower frequency limit in Hz
freq_highUpper frequency limit in Hz

◆ AddChannelNames()

void hops::MHO_DiFXChannelNameConstructor::AddChannelNames ( mho_json vex_root)

Adds channel names to VEX experiment data based on scan and mode information.

Parameters
vex_rootReference to the root JSON object containing VEX experiment data

◆ SetGlobalSkyFreqGrid()

void hops::MHO_DiFXChannelNameConstructor::SetGlobalSkyFreqGrid ( const std::vector< double > &  grid_MHz,
double  tol = MHO_SkyFreqGrid::DEFAULT_TOL_MHZ 
)
inline

Provide a precomputed global sky-frequency grid (MHz, sorted ascending, deduped). When set, AddChannelNames uses this grid for chidx assignment (instead of building one per-station from chan_defs) and drops any chan_def whose sky_freq isn't in the grid. This is what keeps chan_def.channel_name in lockstep with the chan_ids MHO_DiFXBaselineProcessor writes into mark4 t101 records.

Parameters
grid_MHzSorted, deduped sky frequencies in MHz
tolMatch tolerance in MHz (default 0.001)

◆ SetScanName()

void hops::MHO_DiFXChannelNameConstructor::SetScanName ( std::string  scan_id)
inline

Setter for scan name if the (o)vex file has more than one scan, we may want to specify a specific one in order to construct the channel names, otherwise, we will just use the first in the schedule (assumes there is not later change to channel setup)

Parameters
scan_idNew scan ID to set

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