|
| | MHO_FringePass () |
| |
| virtual | ~MHO_FringePass ()=default |
| |
| bool | Configure () |
| | Evaluate the control file and apply the resulting statements. Detects .py vs DSL extension automatically. More...
|
| |
| void | CopyCommandLineParams (const MHO_ParameterStore &cmdline_params) |
| | Bulk-copy a command-line parameter store. Populates the /cmdline/* keys consumed by downstream helpers. Call this first, then use the per-pass setters below to supply any pass-specific fields. More...
|
| |
| void | FlushProfileEvents () |
| | Collect profiler events and store them at /profile/events in the pass parameter store. Call after Run() completes. More...
|
| |
| MHO_FringeData * | GetFringeData () |
| |
| bool | Initialize () |
| | Open the scan directory, load vex data, and populate the parameter store. More...
|
| |
| bool | IsSkipped () |
| |
| bool | Run (const std::vector< MHO_FringeFitterVisitor * > &plugin_visitors={}, const std::vector< MHO_FringeFitterVisitor * > &output_visitors={}, const std::vector< MHO_FringePlotVisitor * > &plot_visitors={}) |
| | Construct the fringe fitter, register plugin visitors, run the fit loop, finalize, and dispatch output/plot visitors. More...
|
| |
| void | SetBaseline (const std::string &baseline) |
| |
| void | SetBuildTimestamp (const std::string &ts) |
| |
| void | SetControlFile (const std::string &path) |
| | Override the control-file path. If not set, the path from /cmdline/control_file (populated by CopyCommandLineParams) is used. More...
|
| |
| void | SetFrequencyGroup (const std::string &fgroup) |
| |
| void | SetPolProduct (const std::string &polprod) |
| |
| void | SetPythonControlEvaluator (ControlEvaluatorFn fn) |
| | Inject a Python control evaluator so that MHO_Fringe itself does not need to link against pybind11. Must be called before Configure() if .py control files are to be supported. More...
|
| |
| void | SetRootFile (const std::string &root_file) |
| |
| void | SetScanDirectory (const std::string &dir) |
| |
| void | SetScanName (const std::string &scan) |
| |
Encapsulates a single-baseline, single-pol-product fringe-fitting pass/run.
- Author
- J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
- Date
MHO_FringePass owns a MHO_FringeData and drives the full per-pass lifecycle: data initialization, control-file evaluation, fringe-fitter construction, run loop, and visitor dispatch. It is the reusable core shared between fourfit4 (command-line driver) and the Python library API.
Typical usage (from fourfit4)
pass.CopyCommandLineParams(cmdline_params);
pass.SetScanDirectory(spec["input_directory"]);
pass.SetBaseline(spec["baseline"]);
pass.SetPolProduct(spec["polprod"]);
pass.SetFrequencyGroup(spec["frequency_group"]);
pass.SetScanName(spec["scan"]);
if (!pass.Initialize()) continue;
if (!pass.Configure()) continue;
pass.Run(plugin_visitors, output_visitors, plot_visitors);
if (pass.IsSkipped()) continue;
#define HOPS_BUILD_TIMESTAMP
Definition: blingfit.cc:50
MHO_FringePass()
Definition: MHO_FringePass.cc:17
- Note
- MHO_FringePass does not depend on pybind11 (and we do not want this dependency here)! Python control files (.py extension) have to be injected as a functor via SetPythonControlEvaluator() before calling Configure().