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

Creates new $FREQ/$BBC/$IF VEX sections for stations that DiFX correlated via zoom bands (zoomFreqId/zoomBandFreqId rather than the recorded-channel tables). The source VEX describes the recorded channels, but the visibilities DiFX emits are from the zoom freqs. Without this rebuild, chan_def lookups during channel naming would fail to match the visibility data (not a big deal for fourfit4, but it is for fourfit3). One synthetic freq/bbc/if triple is created per station per scan and the station's $MODE links are repointed to the new tables. More...

#include <MHO_DiFXZoomBandRebuilder.hh>

Public Member Functions

 MHO_DiFXZoomBandRebuilder ()
 
void ClearSelectionByBandwidth ()
 
std::set< int > CollectZoomFreqIndices () const
 
bool HasZoomBands () const
 
void RebuildFreqSections (mho_json &vex_root, const std::string &mode_name)
 
void SetDiFX2VexStationCodes (const std::map< std::string, std::string > &m)
 
void SetDiFXInputData (const mho_json *input)
 
void SetFrequencyBands (const std::vector< std::tuple< std::string, double, double > > &fbands)
 
void SetSelectionByBandwidth (double bw)
 
bool WantZoomChannels () const
 

Detailed Description

Creates new $FREQ/$BBC/$IF VEX sections for stations that DiFX correlated via zoom bands (zoomFreqId/zoomBandFreqId rather than the recorded-channel tables). The source VEX describes the recorded channels, but the visibilities DiFX emits are from the zoom freqs. Without this rebuild, chan_def lookups during channel naming would fail to match the visibility data (not a big deal for fourfit4, but it is for fourfit3). One synthetic freq/bbc/if triple is created per station per scan and the station's $MODE links are repointed to the new tables.

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Fri May 22 03:56:07 PM EDT 2026

Used only when HasZoomBands() && WantZoomChannels() – i.e. the DiFX input declares zoom freqs and the user hasn't explicitly asked for a different (native) bandwidth via -w.

Constructor & Destructor Documentation

◆ MHO_DiFXZoomBandRebuilder()

hops::MHO_DiFXZoomBandRebuilder::MHO_DiFXZoomBandRebuilder ( )
inline

Member Function Documentation

◆ ClearSelectionByBandwidth()

void hops::MHO_DiFXZoomBandRebuilder::ClearSelectionByBandwidth ( )
inline

◆ CollectZoomFreqIndices()

std::set< int > hops::MHO_DiFXZoomBandRebuilder::CollectZoomFreqIndices ( ) const

◆ HasZoomBands()

bool hops::MHO_DiFXZoomBandRebuilder::HasZoomBands ( ) const

◆ RebuildFreqSections()

void hops::MHO_DiFXZoomBandRebuilder::RebuildFreqSections ( mho_json vex_root,
const std::string &  mode_name 
)

◆ SetDiFX2VexStationCodes()

void hops::MHO_DiFXZoomBandRebuilder::SetDiFX2VexStationCodes ( const std::map< std::string, std::string > &  m)
inline

◆ SetDiFXInputData()

void hops::MHO_DiFXZoomBandRebuilder::SetDiFXInputData ( const mho_json input)
inline

◆ SetFrequencyBands()

void hops::MHO_DiFXZoomBandRebuilder::SetFrequencyBands ( const std::vector< std::tuple< std::string, double, double > > &  fbands)
inline

◆ SetSelectionByBandwidth()

void hops::MHO_DiFXZoomBandRebuilder::SetSelectionByBandwidth ( double  bw)
inline

◆ WantZoomChannels()

bool hops::MHO_DiFXZoomBandRebuilder::WantZoomChannels ( ) const

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