HOPS
HOPS class reference
MHO_BasicFringeFitter.hh
Go to the documentation of this file.
1 #ifndef MHO_BasicFringeFitter_HH__
2 #define MHO_BasicFringeFitter_HH__
3 
5 #include "MHO_FringeFitter.hh"
6 
7 //initialization
10 #include "MHO_ParameterManager.hh"
11 
13 #include "MHO_NormFX.hh"
15 
17 #include "MHO_MBDelaySearch.hh"
18 
19 namespace hops
20 {
21 
35 {
36 
37  public:
39  virtual ~MHO_BasicFringeFitter();
40 
45  virtual void Configure() override;
46 
51  virtual void Initialize() override;
52 
57  virtual void PreRun() override;
58 
65  virtual void Run() override;
66 
71  virtual void PostRun() override;
72 
77  virtual void Finalize() override;
78 
85  virtual bool IsFinished() override;
86 
93  virtual void Accept(MHO_FringeFitterVisitor* visitor) override { visitor->Visit(this); };
94 
95  protected:
96  //main work functions, operators and works space for basic fringe search function
97 
102  void coarse_fringe_search(bool set_windows = true);
103 
107  void interpolate_peak();
108 
116 
117  //visibility/weight caching mechanism
118  //to allow for user-determined outside-loop iteration (prerun, run, postrun)
120  virtual void Cache() override;
121  virtual void Refresh() override;
122 
123  //ptr to the operator to transform vis from frequency to single-band delay space
124  //(we switch depending on the type of freq setup)
126 
127  //actually working operators
128  MHO_MixedSidebandNormFX fMSBNormFXOp; //used when there is mixed LSB or USB or double-sideband data
129  MHO_SingleSidebandNormFX fSSBNormFXOp; //used when there is only LSB or USB data
130 
136 
137  //ovex info
139 };
140 
141 } // namespace hops
142 
143 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_BasicFringeFitter.
Definition: MHO_BasicFringeFitter.hh:35
virtual void PostRun() override
Executes user-specified scripts after fringe fitting if not skipped.
Definition: MHO_BasicFringeFitter.cc:410
visibility_type * sbd_data
Definition: MHO_BasicFringeFitter.hh:135
weight_type * wt_data
Definition: MHO_BasicFringeFitter.hh:134
MHO_InterpolateFringePeakOptimized fPeakInterpolator
Definition: MHO_BasicFringeFitter.hh:132
visibility_type * vis_data
Definition: MHO_BasicFringeFitter.hh:133
virtual bool IsFinished() override
Checks if the fringe fitting process is finished.
Definition: MHO_BasicFringeFitter.cc:419
MHO_SingleSidebandNormFX fSSBNormFXOp
Definition: MHO_BasicFringeFitter.hh:129
virtual void Accept(MHO_FringeFitterVisitor *visitor) override
Accepts and invokes a visitor to visit this object.
Definition: MHO_BasicFringeFitter.hh:93
bool fEnableCaching
Definition: MHO_BasicFringeFitter.hh:119
virtual ~MHO_BasicFringeFitter()
Definition: MHO_BasicFringeFitter.cc:63
virtual void Refresh() override
Definition: MHO_BasicFringeFitter.cc:255
void interpolate_peak()
Performs fine interpolation step to search for peak over a 5x5x5 grid around the peak.
Definition: MHO_BasicFringeFitter.cc:562
void coarse_fringe_search(bool set_windows=true)
Performs coarse search in delay/delay-rate space for fringe fitting.
Definition: MHO_BasicFringeFitter.cc:477
bool ContainsMixedSideband(visibility_type *vis)
Checks if visibility data contains mixed sideband channels (USB and LSB). we switch the MHO_NormFX* o...
Definition: MHO_BasicFringeFitter.cc:601
virtual void Configure() override
Configures fringe data and initializes operator build manager.
Definition: MHO_BasicFringeFitter.cc:73
MHO_NormFX * fNormFXOp
Definition: MHO_BasicFringeFitter.hh:125
virtual void Finalize() override
Finalizes fringe fitting process by plotting data and executing final operators.
Definition: MHO_BasicFringeFitter.cc:425
virtual void Initialize() override
Initializes fringe search operators and loads necessary data.
Definition: MHO_BasicFringeFitter.cc:279
virtual void Run() override
Runs fringe fitting algorithm if this pass is not finished and not skipped.
Definition: MHO_BasicFringeFitter.cc:385
virtual void PreRun() override
Executes user-specified scripts before running fringe fitting.
Definition: MHO_BasicFringeFitter.cc:303
MHO_MixedSidebandNormFX fMSBNormFXOp
Definition: MHO_BasicFringeFitter.hh:128
MHO_BasicFringeFitter(MHO_FringeData *data)
Definition: MHO_BasicFringeFitter.cc:39
virtual void Cache() override
Definition: MHO_BasicFringeFitter.cc:229
MHO_MBDelaySearch * fMBDSearch
Definition: MHO_BasicFringeFitter.hh:131
mho_json fVexInfo
Definition: MHO_BasicFringeFitter.hh:138
Class MHO_FringeData.
Definition: MHO_FringeData.hh:30
Class MHO_FringeFitterVisitor.
Definition: Calibration/include/MHO_FringeFitter.hh:189
virtual void Visit(MHO_FringeFitter *fitter)=0
Function Visit.
Class MHO_FringeFitter.
Definition: Calibration/include/MHO_FringeFitter.hh:48
Class MHO_InterpolateFringePeakOptimized.
Definition: MHO_InterpolateFringePeakOptimized.hh:27
Class MHO_MBDelaySearch.
Definition: MHO_MBDelaySearch.hh:41
Class MHO_MixedSidebandNormFX.
Definition: MHO_MixedSidebandNormFX.hh:43
Class MHO_NormFX.
Definition: MHO_NormFX.hh:27
Class MHO_SingleSidebandNormFX.
Definition: MHO_SingleSidebandNormFX.hh:43
Definition: fit_gsl.h:54
Definition: MHO_AdhocFlagging.hh:18