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 
8 #include "MHO_NormFX.hh"
10 
12 #include "MHO_MBDelaySearch.hh"
13 
14 namespace hops
15 {
16 
30 {
31 
32  public:
34  virtual ~MHO_BasicFringeFitter();
35 
40  virtual void Configure() override;
41 
46  virtual void Initialize() override;
47 
52  virtual void PreRun() override;
53 
60  virtual void Run() override;
61 
66  virtual void PostRun() override;
67 
72  virtual void Finalize() override;
73 
80  virtual bool IsFinished() override;
81 
88  virtual void Accept(MHO_FringeFitterVisitor* visitor) override
89  {
90  visitor->Visit(this);
91  };
92 
93  protected:
94  //main work functions, operators and works space for basic fringe search function
95 
100  void coarse_fringe_search(bool set_windows = true);
101 
105  void interpolate_peak();
106 
114 
115  //visibility/weight caching mechanism
116  //to allow for user-determined outside-loop iteration (prerun, run, postrun)
118  virtual void Cache() override;
119  virtual void Refresh() override;
120 
121  //ptr to the operator to transform vis from frequency to single-band delay space
122  //(we switch depending on the type of freq setup)
124 
125  //actually working operators
126  MHO_MixedSidebandNormFX fMSBNormFXOp; //used when there is mixed LSB or USB or double-sideband data
127  MHO_SingleSidebandNormFX fSSBNormFXOp; //used when there is only LSB or USB data
128 
134 
135  //ovex info
137 };
138 
139 } // namespace hops
140 
141 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_BasicFringeFitter.
Definition: MHO_BasicFringeFitter.hh:30
virtual void PostRun() override
Executes user-specified scripts after fringe fitting if not skipped.
Definition: MHO_BasicFringeFitter.cc:384
visibility_type * sbd_data
Definition: MHO_BasicFringeFitter.hh:133
weight_type * wt_data
Definition: MHO_BasicFringeFitter.hh:132
visibility_type * vis_data
Definition: MHO_BasicFringeFitter.hh:131
virtual bool IsFinished() override
Checks if the fringe fitting process is finished.
Definition: MHO_BasicFringeFitter.cc:393
MHO_SingleSidebandNormFX fSSBNormFXOp
Definition: MHO_BasicFringeFitter.hh:127
virtual void Accept(MHO_FringeFitterVisitor *visitor) override
Accepts and invokes a visitor to visit this object.
Definition: MHO_BasicFringeFitter.hh:88
bool fEnableCaching
Definition: MHO_BasicFringeFitter.hh:117
virtual ~MHO_BasicFringeFitter()
Definition: MHO_BasicFringeFitter.cc:55
virtual void Refresh() override
Definition: MHO_BasicFringeFitter.cc:245
void interpolate_peak()
Performs fine interpolation step to search for peak over a 5x5x5 grid around the peak.
Definition: MHO_BasicFringeFitter.cc:541
void coarse_fringe_search(bool set_windows=true)
Performs coarse search in delay/delay-rate space for fringe fitting.
Definition: MHO_BasicFringeFitter.cc:454
MHO_InterpolateFringePeak fPeakInterpolator
Definition: MHO_BasicFringeFitter.hh:130
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:582
virtual void Configure() override
Configures fringe data and initializes operator build manager.
Definition: MHO_BasicFringeFitter.cc:60
MHO_NormFX * fNormFXOp
Definition: MHO_BasicFringeFitter.hh:123
virtual void Finalize() override
Finalizes fringe fitting process by plotting data and executing final operators.
Definition: MHO_BasicFringeFitter.cc:399
virtual void Initialize() override
Initializes fringe search operators and loads necessary data.
Definition: MHO_BasicFringeFitter.cc:270
virtual void Run() override
Runs fringe fitting algorithm if this pass is not finished and not skipped.
Definition: MHO_BasicFringeFitter.cc:358
virtual void PreRun() override
Executes user-specified scripts before running fringe fitting.
Definition: MHO_BasicFringeFitter.cc:297
MHO_MixedSidebandNormFX fMSBNormFXOp
Definition: MHO_BasicFringeFitter.hh:126
MHO_BasicFringeFitter(MHO_FringeData *data)
Definition: MHO_BasicFringeFitter.cc:41
virtual void Cache() override
Definition: MHO_BasicFringeFitter.cc:219
MHO_MBDelaySearch * fMBDSearch
Definition: MHO_BasicFringeFitter.hh:129
mho_json fVexInfo
Definition: MHO_BasicFringeFitter.hh:136
Class MHO_FringeData.
Definition: MHO_FringeData.hh:30
Class MHO_FringeFitterVisitor.
Definition: MHO_FringeFitter.hh:186
virtual void Visit(MHO_FringeFitter *fitter)=0
Function Visit.
Class MHO_FringeFitter.
Definition: MHO_FringeFitter.hh:43
Class MHO_InterpolateFringePeak.
Definition: MHO_InterpolateFringePeak.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:42
Definition: MHO_ChannelLabeler.hh:17