|
HOPS
HOPS class reference
|
Class MHO_ComputePlotData. More...
#include <MHO_ComputePlotData.hh>
Public Member Functions | |
| MHO_ComputePlotData () | |
| virtual | ~MHO_ComputePlotData () |
| xpower_amp_type | calc_dr () |
| Calculates delay-rate (dr) function (amplitude vs delay rate) More... | |
| xpower_amp_type | calc_dr_segs_phase (double &coh_avg_phase, phasor_type &phasor_segs) |
| Merged computation of delay-rate spectrum, phasor segments, and fringe phase. Single ch->ap pass over fSBDMaxBin replaces three separate passes. DR uses fVRTable; segs and phase use fVRPhaseTable. More... | |
| std::string | calc_error_code (const mho_json &plot_dict) |
| calcuates the fringe error code More... | |
| void | calc_freqrms (phasor_type &phasors, double coh_avg_phase, double fringe_amp, double total_summed_weights, double snr, double &freqrms_phase, double &freqrms_amp, double &inc_avg_amp_freq) |
| Calculates frequency root mean square (phase and amplitude) for given phasors. More... | |
| xpower_amp_type | calc_mbd () |
| Calculates Multi-Band Delay (MBD) function (amplitude vs. mbd) More... | |
| double | calc_phase () |
| Calculates fringe phase using weighted sum and fitted (delay, delay-rate) rotation. More... | |
| std::string | calc_quality_code () |
| calcuates the fringe quality code More... | |
| xpower_amp_type | calc_sbd () |
| Calculates Single Band Delay (SBD) function (amplitude vs. sbd) More... | |
| void | calc_sbd_and_xpower_spec (xpower_amp_type &sbd_amp, xpower_type &cp_spectrum) |
| Merged computation of SBD amplitude spectrum and cross-power spectrum. Single ch->ap->bin pass replaces two separate bin->ch->ap passes. calc_sbd uses fVRTable; calc_xpower_spec uses fVRPhaseTable. More... | |
| phasor_type | calc_segs () |
| Calculates and returns time-averaged phasor segments for each channel. More... | |
| void | calc_timerms (phasor_type &phasors, std::size_t nseg, std::size_t apseg, double coh_avg_phase, double fringe_amp, double total_summed_weights, double snr, double &timerms_phase, double &timerms_amp, double &inc_avg_amp) |
| Calculates time-domain measurements (phase, amplitude, average) from phasors data. More... | |
| xpower_type | calc_xpower_spec () |
| Calculates and returns the cross-power spectrum for a given SBD array. More... | |
| void | correct_vis () |
| Corrects visibility data by applying fringe solution. More... | |
| void | DisableOptimizeClosure () |
| Disables optimize closure by setting underlying MHO_FringeRotation (fRot) optimizeClosure to false. More... | |
| void | dump_manual_pcmodel (mho_json &plot_dict, int station_flag, std::string pol, std::string key_suffix="") |
| void | dump_multitone_pcmodel (mho_json &plot_dict, int station_flag, std::string pol, std::string key_suffix="") |
| void | DumpInfoToJSON (mho_json &plot_dict) |
| Dumps fringe plot data into a JSON object for visualization/consumption by plotting routine. More... | |
| void | DumpSpectralLineInfoToJSON (mho_json &plot_dict) |
| Dumps spectral-line fringe plot data into a JSON object. Uses the 'spec_dr' container (stored by MHO_SpectralLineFringeFitter) instead of the broadband 'sbd' container. Populates DLYRATE/DLYRATE_XAXIS (1-D DR spectrum), SL_FREQ_AMP/SL_FREQ_PHS/SL_FREQ_XAXIS (1-D freq spectrum at peak DR bin), and SL_2D_AMP/SL_2D_DR_AXIS/SL_2D_FREQ_AXIS (2-D amplitude surface at peak channel). More... | |
| void | EnableOptimizeClosure () |
| Sets optimize closure to true in underlying MHO_FringeRotation (fRot) object. More... | |
| void | Initialize () |
| Initializes member variables by retrieving values from parameter and container stores. More... | |
| void | precompute_chan_metadata () |
| Pre-computes per-channel metadata (freq, sideband sign, bandwidth) into flat arrays, eliminating repeated string-keyed label lookups inside the calc_* functions. More... | |
| void | precompute_vr_tables () |
| Pre-computes vrot lookup tables indexed as [ch * fNAP + ap]. Three tables are built to match the fRot state used by each calc_* function: fVRTable - default SBD params + fMBDelay (calc_sbd, calc_dr) fVRMBD0Table - default SBD params + MBD=0 (calc_mbd) fVRPhaseTable - proper SBD params + fMBDelay (calc_phase, calc_xpower_spec, calc_segs, correct_vis) More... | |
| void | SetContainerStore (MHO_ContainerStore *cStore) |
| Setter for container store. More... | |
| void | SetMBDAnchor (std::string flag) |
| Setter for mbd anchor (either: 'sbd' or 'model') More... | |
| void | SetOperatorToolbox (MHO_OperatorToolbox *toolbox) |
| Setter for operator toolbox. More... | |
| void | SetParameterStore (MHO_ParameterStore *pStore) |
| Setter for parameter store. More... | |
| void | SetVexInfo (const mho_json &vex_info) |
| Setter for vex info. More... | |
| void | smooth_dr_spectrum_tcohere (std::size_t drsp_size, double ap_delta) |
| Applies the t_cohere box-car smoothing to fDRAmpWorkspace in-place, replicating the make_plotdata.c behavior (wrapping, odd window). No-op when t_cohere is not set or <= 0. More... | |
Class MHO_ComputePlotData.
class for computing fringe plot information
| hops::MHO_ComputePlotData::MHO_ComputePlotData | ( | ) |
|
inlinevirtual |
| xpower_amp_type hops::MHO_ComputePlotData::calc_dr | ( | ) |
Calculates delay-rate (dr) function (amplitude vs delay rate)
| xpower_amp_type hops::MHO_ComputePlotData::calc_dr_segs_phase | ( | double & | coh_avg_phase, |
| phasor_type & | phasor_segs | ||
| ) |
Merged computation of delay-rate spectrum, phasor segments, and fringe phase. Single ch->ap pass over fSBDMaxBin replaces three separate passes. DR uses fVRTable; segs and phase use fVRPhaseTable.
| coh_avg_phase | Output: coherent average phase (was calc_phase return value) |
| phasor_segs | Output: phasor segment data (was calc_segs return value) |
| std::string hops::MHO_ComputePlotData::calc_error_code | ( | const mho_json & | plot_dict | ) |
calcuates the fringe error code
| void hops::MHO_ComputePlotData::calc_freqrms | ( | phasor_type & | phasors, |
| double | coh_avg_phase, | ||
| double | fringe_amp, | ||
| double | total_summed_weights, | ||
| double | snr, | ||
| double & | freqrms_phase, | ||
| double & | freqrms_amp, | ||
| double & | inc_avg_amp_freq | ||
| ) |
Calculates frequency root mean square (phase and amplitude) for given phasors.
| phasors | Reference to phasor_type object containing channel data |
| coh_avg_phase | Coherent average phase in radians |
| fringe_amp | Fringe amplitude |
| total_summed_weights | Total summed weights |
| snr | Signal-to-noise ratio |
| freqrms_phase | Output: Frequency RMS phase |
| freqrms_amp | Output: Frequency RMS amplitude |
| inc_avg_amp_freq | Output: incoherent average amplitude (over frequency) |
| xpower_amp_type hops::MHO_ComputePlotData::calc_mbd | ( | ) |
Calculates Multi-Band Delay (MBD) function (amplitude vs. mbd)
| double hops::MHO_ComputePlotData::calc_phase | ( | ) |
Calculates fringe phase using weighted sum and fitted (delay, delay-rate) rotation.
| std::string hops::MHO_ComputePlotData::calc_quality_code | ( | ) |
calcuates the fringe quality code
| xpower_amp_type hops::MHO_ComputePlotData::calc_sbd | ( | ) |
Calculates Single Band Delay (SBD) function (amplitude vs. sbd)
| void hops::MHO_ComputePlotData::calc_sbd_and_xpower_spec | ( | xpower_amp_type & | sbd_amp, |
| xpower_type & | cp_spectrum | ||
| ) |
Merged computation of SBD amplitude spectrum and cross-power spectrum. Single ch->ap->bin pass replaces two separate bin->ch->ap passes. calc_sbd uses fVRTable; calc_xpower_spec uses fVRPhaseTable.
| sbd_amp | Output: SBD amplitude vs delay (was calc_sbd return value) |
| cp_spectrum | Output: cross-power spectrum (was calc_xpower_spec return value) |
| phasor_type hops::MHO_ComputePlotData::calc_segs | ( | ) |
Calculates and returns time-averaged phasor segments for each channel.
| void hops::MHO_ComputePlotData::calc_timerms | ( | phasor_type & | phasors, |
| std::size_t | nseg, | ||
| std::size_t | apseg, | ||
| double | coh_avg_phase, | ||
| double | fringe_amp, | ||
| double | total_summed_weights, | ||
| double | snr, | ||
| double & | timerms_phase, | ||
| double & | timerms_amp, | ||
| double & | inc_avg_amp | ||
| ) |
Calculates time-domain measurements (phase, amplitude, average) from phasors data.
| phasors | Input phasor data |
| nseg | Number of segments in phasors data |
| apseg | Average phase segment size |
| coh_avg_phase | Coherent average phase (degrees) |
| fringe_amp | Fringe amplitude |
| total_summed_weights | Total summed weights |
| snr | Signal to Noise Ratio |
| timerms_phase | Output: Time RMS phase |
| timerms_amp | Output: Time RMS amplitude |
| inc_avg_amp | Output: incoherent average amplitude (over time) |
| xpower_type hops::MHO_ComputePlotData::calc_xpower_spec | ( | ) |
Calculates and returns the cross-power spectrum for a given SBD array.
| void hops::MHO_ComputePlotData::correct_vis | ( | ) |
Corrects visibility data by applying fringe solution.
|
inline |
Disables optimize closure by setting underlying MHO_FringeRotation (fRot) optimizeClosure to false.
| void hops::MHO_ComputePlotData::dump_manual_pcmodel | ( | mho_json & | plot_dict, |
| int | station_flag, | ||
| std::string | pol, | ||
| std::string | key_suffix = "" |
||
| ) |
| void hops::MHO_ComputePlotData::dump_multitone_pcmodel | ( | mho_json & | plot_dict, |
| int | station_flag, | ||
| std::string | pol, | ||
| std::string | key_suffix = "" |
||
| ) |
| void hops::MHO_ComputePlotData::DumpInfoToJSON | ( | mho_json & | plot_dict | ) |
Dumps fringe plot data into a JSON object for visualization/consumption by plotting routine.
| plot_dict | JSON object to store fringe plot data. |
| void hops::MHO_ComputePlotData::DumpSpectralLineInfoToJSON | ( | mho_json & | plot_dict | ) |
Dumps spectral-line fringe plot data into a JSON object. Uses the 'spec_dr' container (stored by MHO_SpectralLineFringeFitter) instead of the broadband 'sbd' container. Populates DLYRATE/DLYRATE_XAXIS (1-D DR spectrum), SL_FREQ_AMP/SL_FREQ_PHS/SL_FREQ_XAXIS (1-D freq spectrum at peak DR bin), and SL_2D_AMP/SL_2D_DR_AXIS/SL_2D_FREQ_AXIS (2-D amplitude surface at peak channel).
| plot_dict | JSON object to store spectral-line plot data. |
|
inline |
Sets optimize closure to true in underlying MHO_FringeRotation (fRot) object.
| void hops::MHO_ComputePlotData::Initialize | ( | ) |
Initializes member variables by retrieving values from parameter and container stores.
| void hops::MHO_ComputePlotData::precompute_chan_metadata | ( | ) |
Pre-computes per-channel metadata (freq, sideband sign, bandwidth) into flat arrays, eliminating repeated string-keyed label lookups inside the calc_* functions.
| void hops::MHO_ComputePlotData::precompute_vr_tables | ( | ) |
Pre-computes vrot lookup tables indexed as [ch * fNAP + ap]. Three tables are built to match the fRot state used by each calc_* function: fVRTable - default SBD params + fMBDelay (calc_sbd, calc_dr) fVRMBD0Table - default SBD params + MBD=0 (calc_mbd) fVRPhaseTable - proper SBD params + fMBDelay (calc_phase, calc_xpower_spec, calc_segs, correct_vis)
|
inline |
Setter for container store.
| cStore | Pointer to MHO_ContainerStore object |
|
inline |
Setter for mbd anchor (either: 'sbd' or 'model')
| flag | Flag indicating the MBD anchor type |
|
inline |
Setter for operator toolbox.
| toolbox | Pointer to MHO_OperatorToolbox object |
|
inline |
Setter for parameter store.
| pStore | Pointer to MHO_ParameterStore object |
|
inline |
Setter for vex info.
| vex_info | Const reference to mho_json object containing VEX information (from root file) |
| void hops::MHO_ComputePlotData::smooth_dr_spectrum_tcohere | ( | std::size_t | drsp_size, |
| double | ap_delta | ||
| ) |
Applies the t_cohere box-car smoothing to fDRAmpWorkspace in-place, replicating the make_plotdata.c behavior (wrapping, odd window). No-op when t_cohere is not set or <= 0.
| drsp_size | Number of points in the delay-rate spectrum |
| ap_delta | Accumulation period (s), i.e. time-axis bin width |
| double hops::MHO_ComputePlotData::fAmp |
| std::vector< double > hops::MHO_ComputePlotData::fChanBandwidth |
| std::vector< double > hops::MHO_ComputePlotData::fChanFreq |
| std::vector< int > hops::MHO_ComputePlotData::fChanSideband |
| MHO_ContainerStore* hops::MHO_ComputePlotData::fContainerStore |
| MHO_CyclicRotator< xpower_type > hops::MHO_ComputePlotData::fCyclicRotator |
| double hops::MHO_ComputePlotData::fDelayRate |
| xpower_amp_type hops::MHO_ComputePlotData::fDRAmpWorkspace |
| xpower_type hops::MHO_ComputePlotData::fDRWorkspace |
| MHO_MultidimensionalFastFourierTransform< xpower_type > hops::MHO_ComputePlotData::fFFTEngine |
| xpower_type hops::MHO_ComputePlotData::fFringe |
| double hops::MHO_ComputePlotData::fFringeRate |
| std::complex< double > hops::MHO_ComputePlotData::fImagUnit |
| xpower_amp_type hops::MHO_ComputePlotData::fMBDAmpWorkspace |
| std::string hops::MHO_ComputePlotData::fMBDAnchor |
| double hops::MHO_ComputePlotData::fMBDelay |
| xpower_type hops::MHO_ComputePlotData::fMBDWorkspace |
| std::size_t hops::MHO_ComputePlotData::fNAP |
| std::size_t hops::MHO_ComputePlotData::fNChan |
| std::vector< int > hops::MHO_ComputePlotData::fNLSBAP |
| std::vector< int > hops::MHO_ComputePlotData::fNUSBAP |
| MHO_ParameterStore* hops::MHO_ComputePlotData::fParamStore |
| double hops::MHO_ComputePlotData::fRefFreq |
| MHO_FringeRotation hops::MHO_ComputePlotData::fRot |
| visibility_type* hops::MHO_ComputePlotData::fSBDArray |
| std::vector< double > hops::MHO_ComputePlotData::fSBDBox |
| double hops::MHO_ComputePlotData::fSBDelay |
| std::size_t hops::MHO_ComputePlotData::fSBDMaxBin |
| MHO_OperatorToolbox* hops::MHO_ComputePlotData::fToolbox |
| double hops::MHO_ComputePlotData::fTotalSummedWeights |
| bool hops::MHO_ComputePlotData::fValid |
| mho_json hops::MHO_ComputePlotData::fVexInfo |
| visibility_type* hops::MHO_ComputePlotData::fVisibilities |
| std::vector< std::complex< double > > hops::MHO_ComputePlotData::fVRMBD0Table |
| std::vector< std::complex< double > > hops::MHO_ComputePlotData::fVRPhaseTable |
| std::vector< std::complex< double > > hops::MHO_ComputePlotData::fVRTable |
| weight_type* hops::MHO_ComputePlotData::fWeights |
| std::vector< std::vector< double > > hops::MHO_ComputePlotData::seg_frac_lsb |
| std::vector< std::vector< double > > hops::MHO_ComputePlotData::seg_frac_usb |