HOPS
HOPS class reference
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
hops::MHO_IonosphericFringeFitter Class Reference

Class MHO_IonosphericFringeFitter. More...

#include <MHO_IonosphericFringeFitter.hh>

Inheritance diagram for hops::MHO_IonosphericFringeFitter:
[legend]

Public Member Functions

 MHO_IonosphericFringeFitter (MHO_FringeData *data)
 
virtual ~MHO_IonosphericFringeFitter ()
 
virtual void Accept (MHO_FringeFitterVisitor *visitor) override
 Accepts and invokes a visitor to visit this object. More...
 
void Finalize () override
 Finalizes fringe fitting process by storing search windows and generating plot data. More...
 
virtual void Run () override
 Runs fringe fitting process with additial search over dTEC (with optional smoothing) More...
 
- Public Member Functions inherited from hops::MHO_BasicFringeFitter
 MHO_BasicFringeFitter (MHO_FringeData *data)
 
virtual ~MHO_BasicFringeFitter ()
 
virtual void Configure () override
 Configures fringe data and initializes operator build manager. More...
 
virtual void Initialize () override
 Initializes fringe search operators and loads necessary data. More...
 
virtual bool IsFinished () override
 Checks if the fringe fitting process is finished. More...
 
virtual void PostRun () override
 Executes user-specified scripts after fringe fitting if not skipped. More...
 
virtual void PreRun () override
 Executes user-specified scripts before running fringe fitting. More...
 
- Public Member Functions inherited from hops::MHO_FringeFitter
 MHO_FringeFitter (MHO_FringeData *data)
 
virtual ~MHO_FringeFitter ()
 
MHO_ContainerStoreGetContainerStore ()
 Getter for container store. More...
 
MHO_FringeDataGetFringeData ()
 Getter for fringe data. More...
 
MHO_OperatorBuilderManagerGetOperatorBuildManager ()
 Getter for ther operator build manager - only valid after 'Configure' is called. More...
 
MHO_OperatorToolboxGetOperatorToolbox ()
 Getter for operator toolbox. More...
 
MHO_ParameterStoreGetParameterStore ()
 Getter for parameter store. More...
 
MHO_ScanDataStoreGetScanDataStore ()
 Getter for scan data store. More...
 
mho_json GetVex ()
 Getter for vex (ovex) data as JSON object. More...
 

Protected Member Functions

double calculate_approx_snr ()
 Calculates approximate signal-to-noise ratio (SNR) for fringe fitting. More...
 
int ion_search_smooth ()
 Searches for fringe peak while applying smoothing function (convolution w/ half-cosine). More...
 
int rjc_ion_search ()
 Searches for fringe peak in dtec/delay/delay-rate space. More...
 
void smoother (double *f, double *g, double *tec_step, int *npts)
 Applies a smoothing curve (half-cosine) to input data array for fringe finding in ionospheric processing. More...
 
void sort_tecs (int nion, std::vector< std::vector< double > > &dtec)
 Sorts TEC arrays and stores them in parameter store. More...
 
- Protected Member Functions inherited from hops::MHO_BasicFringeFitter
virtual void Cache () override
 
void coarse_fringe_search (bool set_windows=true)
 Performs coarse search in delay/delay-rate space for fringe fitting. More...
 
bool ContainsMixedSideband (visibility_type *vis)
 Checks if visibility data contains mixed sideband channels (USB and LSB). we switch the MHO_NormFX* object depending on the type of freq setup (single or mixed sideband) More...
 
void interpolate_peak ()
 Performs fine interpolation step to search for peak over a 5x5x5 grid around the peak. More...
 
virtual void Refresh () override
 

Protected Attributes

double fInitialSBWin [2]
 
int ion_npts
 
- Protected Attributes inherited from hops::MHO_BasicFringeFitter
bool fEnableCaching
 
MHO_MBDelaySearchfMBDSearch
 
MHO_MixedSidebandNormFX fMSBNormFXOp
 
MHO_NormFXfNormFXOp
 
MHO_InterpolateFringePeak fPeakInterpolator
 
MHO_SingleSidebandNormFX fSSBNormFXOp
 
mho_json fVexInfo
 
visibility_typesbd_data
 
visibility_typevis_data
 
weight_typewt_data
 
- Protected Attributes inherited from hops::MHO_FringeFitter
MHO_ContainerStorefContainerStore
 
MHO_FringeDatafFringeData
 
MHO_OperatorBuilderManagerfOperatorBuildManager
 
MHO_OperatorToolbox fOperatorToolbox
 
MHO_ParameterStorefParameterStore
 
MHO_ScanDataStorefScanStore
 

Detailed Description

Class MHO_IonosphericFringeFitter.

single-baseline fringe fitter with ionosphere search

Author
J. Barrettj - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Wed Jan 17 14:48:52 2024 -0500

Constructor & Destructor Documentation

◆ MHO_IonosphericFringeFitter()

hops::MHO_IonosphericFringeFitter::MHO_IonosphericFringeFitter ( MHO_FringeData data)

◆ ~MHO_IonosphericFringeFitter()

hops::MHO_IonosphericFringeFitter::~MHO_IonosphericFringeFitter ( )
virtual

Member Function Documentation

◆ Accept()

virtual void hops::MHO_IonosphericFringeFitter::Accept ( MHO_FringeFitterVisitor visitor)
inlineoverridevirtual

Accepts and invokes a visitor to visit this object.

Parameters
visitorA pointer to an MHO_FringeFitterVisitor that will be invoked.
Note
This is a virtual function.

Reimplemented from hops::MHO_BasicFringeFitter.

◆ calculate_approx_snr()

double hops::MHO_IonosphericFringeFitter::calculate_approx_snr ( )
protected

Calculates approximate signal-to-noise ratio (SNR) for fringe fitting.

Returns
Approximate SNR as a double

◆ Finalize()

void hops::MHO_IonosphericFringeFitter::Finalize ( )
overridevirtual

Finalizes fringe fitting process by storing search windows and generating plot data.

Reimplemented from hops::MHO_BasicFringeFitter.

◆ ion_search_smooth()

int hops::MHO_IonosphericFringeFitter::ion_search_smooth ( )
protected

Searches for fringe peak while applying smoothing function (convolution w/ half-cosine).

Returns
0 if successful, 1 otherwise.

◆ rjc_ion_search()

int hops::MHO_IonosphericFringeFitter::rjc_ion_search ( )
protected

Searches for fringe peak in dtec/delay/delay-rate space.

Returns
0 on success, 1 on failure.

◆ Run()

void hops::MHO_IonosphericFringeFitter::Run ( )
overridevirtual

Runs fringe fitting process with additial search over dTEC (with optional smoothing)

Note
This is a virtual function.

Reimplemented from hops::MHO_BasicFringeFitter.

◆ smoother()

void hops::MHO_IonosphericFringeFitter::smoother ( double *  f,
double *  g,
double *  tec_step,
int *  npts 
)
protected

Applies a smoothing curve (half-cosine) to input data array for fringe finding in ionospheric processing.

Parameters
fInput data array with arbitrary positive length
gOutput data array with fourfold interpolation
tec_stepGrid spacing of f in TEC units
nptsPointer to length of input array - modified!

◆ sort_tecs()

void hops::MHO_IonosphericFringeFitter::sort_tecs ( int  nion,
std::vector< std::vector< double > > &  dtec 
)
protected

Sorts TEC arrays and stores them in parameter store.

Parameters
nionNumber of ionospheric search points
dtecReference to vector of vectors containing TEC values

Member Data Documentation

◆ fInitialSBWin

double hops::MHO_IonosphericFringeFitter::fInitialSBWin[2]
protected

◆ ion_npts

int hops::MHO_IonosphericFringeFitter::ion_npts
protected

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