1 #ifndef MHO_DiFXScanProcessor_HH__
2 #define MHO_DiFXScanProcessor_HH__
126 for(std::size_t i = 0; i < fFreqBands.size(); i++)
128 auto btup = fFreqBands[i];
129 fChanNameConstructor.
AddBandLabel(std::get< 0 >(btup), std::get< 1 >(btup), std::get< 2 >(btup));
138 void SetFreqGroups(std::vector< std::string > fgroups) { fFreqGroups = fgroups; }
148 fSelectByBandwidth =
true;
166 bool CreateScanOutputDirectory();
167 void LoadInputFile();
169 std::string LocateDiFXInput2JSON()
const;
170 void CreateRootFileObject(std::string vexfile);
177 void FinalizeAndWriteRootFile();
179 void ConvertVisibilityFileObjects();
180 void NormalizeVisibilities();
181 void ConvertStationFileObjects();
186 std::vector< double > ComputeGlobalSkyFreqGrid(
double tol = 0.001)
const;
188 void ExtractPCalData();
189 void ExtractStationCoords();
192 std::string ConstructRootFileName(
const std::string& output_dir,
const std::string& root_code,
193 const std::string& src_name);
195 std::string ConstructStaFileName(
const std::string& output_dir,
const std::string& root_code,
196 const std::string& station_code,
const std::string& station_mk4id);
202 std::string fRootCode;
203 std::string fCorrDate;
215 std::string fOutputDirectory;
219 std::string fSrcName;
220 std::string fDiFXInputFilename;
222 std::map< int, MHO_DiFXBaselineProcessor > fAllBaselineVisibilities;
225 std::map< std::string, multitone_pcal_type* > fStationCode2PCal;
226 std::map< std::string, station_coord_type* > fStationCode2Coords;
231 std::map< std::string, std::string > fDiFX2VexStationCodes;
232 std::map< std::string, std::string > fDiFX2VexStationNames;
247 bool fPreserveDiFXScanNames;
248 bool fAttachDiFXInput;
252 std::vector< std::tuple< std::string, double, double > > fFreqBands;
253 std::vector< std::string > fFreqGroups;
254 bool fSelectByBandwidth;
255 double fOnlyBandwidth;
Class MHO_DiFXChannelNameConstructor.
Definition: MHO_DiFXChannelNameConstructor.hh:29
void AddBandLabel(std::string band_label, double freq_low, double freq_high)
Adds a frequency range for a specific band label.
Definition: MHO_DiFXChannelNameConstructor.cc:19
takes care of all the wierd structural fix-ups that turn a freshly-parsed VEX json into the special O...
Definition: MHO_DiFXOvexPatcher.hh:37
Class MHO_DiFXPCalProcessor.
Definition: MHO_DiFXPCalProcessor.hh:28
Class MHO_DiFXScanFileSet.
Definition: MHO_DiFXScanFileSet.hh:23
Class MHO_DiFXScanProcessor.
Definition: MHO_DiFXScanProcessor.hh:47
void SetExportAsMark4True()
Definition: MHO_DiFXScanProcessor.hh:114
void SetFrequencyBands(std::vector< std::tuple< std::string, double, double > > fbands)
Setter for frequency bands (name, limits)
Definition: MHO_DiFXScanProcessor.hh:123
void SetAttachDiFXInputTrue()
Setter for attach difx .input data true.
Definition: MHO_DiFXScanProcessor.hh:102
void SetExportAsMark4False()
Definition: MHO_DiFXScanProcessor.hh:116
void SetNormalizeFalse()
Setter for normalize false - Do NOT apply mk4 style visibility normalization.
Definition: MHO_DiFXScanProcessor.hh:82
void SetRootCode(std::string rcode)
Setter for root code.
Definition: MHO_DiFXScanProcessor.hh:57
void SetFreqGroups(std::vector< std::string > fgroups)
Setter for (allowed) freq groups/bands.
Definition: MHO_DiFXScanProcessor.hh:138
void SetStationCodes(MHO_StationCodeMap *code_map)
Setter for station codes.
Definition: MHO_DiFXScanProcessor.cc:55
void SetNormalizeTrue()
Setter for normalize true - apply mk4 style visibility normalization.
Definition: MHO_DiFXScanProcessor.hh:87
void SetAttachDiFXInputFalse()
Setter for attach difx .input data false.
Definition: MHO_DiFXScanProcessor.hh:107
void SetTryLocalDirectory(bool val)
Enable/disable the difxio –localdir option, forwarded to difxinput2json.
Definition: MHO_DiFXScanProcessor.hh:112
std::string get_correlation_vexdate() const
Retrieves the correlation date as a string.
Definition: MHO_DiFXScanProcessor.hh:156
virtual ~MHO_DiFXScanProcessor()
Definition: MHO_DiFXScanProcessor.cc:53
void SetPreserveDiFXScanNamesTrue()
Setter for preserve difx scan names true.
Definition: MHO_DiFXScanProcessor.hh:92
MHO_DiFXScanProcessor()
Definition: MHO_DiFXScanProcessor.cc:38
void SetOnlyBandwidth(double bw)
Setter for allowed channel bandwidth - channels with other bandwidths will be discarded.
Definition: MHO_DiFXScanProcessor.hh:145
void ProcessScan(MHO_DiFXScanFileSet &fileSet)
Processes a DiFX scan file set by loading input files, creating output directories,...
Definition: MHO_DiFXScanProcessor.cc:60
void SetPreserveDiFXScanNamesFalse()
Setter for preserve difx scan names false.
Definition: MHO_DiFXScanProcessor.hh:97
void SetExperimentNumber(int num)
Setter for experiment number.
Definition: MHO_DiFXScanProcessor.hh:64
Responsible for building the per-station station_coord_type spline data (delay, az,...
Definition: MHO_DiFXStationCoordBuilder.hh:30
Creates new $FREQ/$BBC/$IF VEX sections for stations that DiFX correlated via zoom bands (zoomFreqId/...
Definition: MHO_DiFXZoomBandRebuilder.hh:33
Class MHO_StationCodeMap Handles the mapping of two character and one character station representatio...
Definition: MHO_StationCodeMap.hh:27
Definition: difx2mark4.h:111
Definition: MHO_AdhocFlagging.hh:18