1 #ifndef MHO_DiFXScanProcessor_HH__
2 #define MHO_DiFXScanProcessor_HH__
118 for(std::size_t i = 0; i < fFreqBands.size(); i++)
120 auto btup = fFreqBands[i];
121 fChanNameConstructor.
AddBandLabel(std::get< 0 >(btup), std::get< 1 >(btup), std::get< 2 >(btup));
130 void SetFreqGroups(std::vector< std::string > fgroups) { fFreqGroups = fgroups; }
140 fSelectByBandwidth =
true;
181 int local_getDifxAntennaShiftedClock(
const mho_json& da,
double dt,
int outputClockSize,
double* clockOut);
193 void calculateZerothOrderParallacticAngle(
station_coord_type* st_coord,
double X,
double Y,
double Z,
double src_dec,
203 bool CreateScanOutputDirectory();
204 void LoadInputFile();
205 void CreateRootFileObject(std::string vexfile);
206 void ConvertVisibilityFileObjects();
207 void NormalizeVisibilities();
208 void ConvertStationFileObjects();
210 void ExtractPCalData();
211 void ExtractStationCoords();
214 std::string ConstructRootFileName(
const std::string& output_dir,
const std::string& root_code,
215 const std::string& src_name);
217 std::string ConstructStaFileName(
const std::string& output_dir,
const std::string& root_code,
218 const std::string& station_code,
const std::string& station_mk4id);
220 void PatchOvexStructures(
mho_json& vex_root, std::string mode_name);
226 std::string fRootCode;
227 std::string fCorrDate;
239 std::string fOutputDirectory;
241 std::map< int, MHO_DiFXBaselineProcessor > fAllBaselineVisibilities;
244 std::map< std::string, multitone_pcal_type* > fStationCode2PCal;
245 std::map< std::string, station_coord_type* > fStationCode2Coords;
250 std::map< std::string, std::string > fDiFX2VexStationCodes;
251 std::map< std::string, std::string > fDiFX2VexStationNames;
257 bool fPreserveDiFXScanNames;
258 bool fAttachDiFXInput;
260 double MICROSEC_TO_SEC;
263 std::vector< std::tuple< std::string, double, double > > fFreqBands;
264 std::vector< std::string > fFreqGroups;
265 bool fSelectByBandwidth;
266 double fOnlyBandwidth;
Class MHO_DiFXChannelNameConstructor.
Definition: MHO_DiFXChannelNameConstructor.hh:28
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:17
Class MHO_DiFXPCalProcessor.
Definition: MHO_DiFXPCalProcessor.hh:28
Class MHO_DiFXScanFileSet.
Definition: MHO_DiFXScanFileSet.hh:23
Class MHO_DiFXScanProcessor.
Definition: MHO_DiFXScanProcessor.hh:45
void SetExportAsMark4True()
Definition: MHO_DiFXScanProcessor.hh:107
std::string get_fourfit_reftime_for_scan(mho_json scan_obj)
Calculates and returns the fourfit reference time epoch string for a given scan object.
Definition: MHO_DiFXScanProcessor.cc:723
void SetFrequencyBands(std::vector< std::tuple< std::string, double, double > > fbands)
Setter for frequency bands (name, limits)
Definition: MHO_DiFXScanProcessor.hh:115
void SetAttachDiFXInputTrue()
Setter for attach difx .input data true.
Definition: MHO_DiFXScanProcessor.hh:100
void SetExportAsMark4False()
Definition: MHO_DiFXScanProcessor.hh:108
void SetNormalizeFalse()
Setter for normalize false - Do NOT apply mk4 style visibility normalization.
Definition: MHO_DiFXScanProcessor.hh:80
void SetRootCode(std::string rcode)
Setter for root code.
Definition: MHO_DiFXScanProcessor.hh:55
void SetFreqGroups(std::vector< std::string > fgroups)
Setter for (allowed) freq groups/bands.
Definition: MHO_DiFXScanProcessor.hh:130
void SetStationCodes(MHO_StationCodeMap *code_map)
Setter for station codes.
Definition: MHO_DiFXScanProcessor.cc:48
void SetNormalizeTrue()
Setter for normalize true - apply mk4 style visibility normalization.
Definition: MHO_DiFXScanProcessor.hh:85
void SetAttachDiFXInputFalse()
Setter for attach difx .input data false.
Definition: MHO_DiFXScanProcessor.hh:105
std::string get_correlation_vexdate() const
Retrieves the correlation date as a string.
Definition: MHO_DiFXScanProcessor.hh:160
virtual ~MHO_DiFXScanProcessor()
Definition: MHO_DiFXScanProcessor.cc:46
void SetPreserveDiFXScanNamesTrue()
Setter for preserve difx scan names true.
Definition: MHO_DiFXScanProcessor.hh:90
MHO_DiFXScanProcessor()
Definition: MHO_DiFXScanProcessor.cc:31
void SetOnlyBandwidth(double bw)
Setter for allowed channel bandwidth - channels with other bandwidths will be discarded.
Definition: MHO_DiFXScanProcessor.hh:137
void ProcessScan(MHO_DiFXScanFileSet &fileSet)
Processes a DiFX scan file set by loading input files, creating output directories,...
Definition: MHO_DiFXScanProcessor.cc:53
void SetPreserveDiFXScanNamesFalse()
Setter for preserve difx scan names false.
Definition: MHO_DiFXScanProcessor.hh:95
void SetExperimentNumber(int num)
Setter for experiment number.
Definition: MHO_DiFXScanProcessor.hh:62
Class MHO_StationCodeMap Handles the mapping of two character and one character station representatio...
Definition: MHO_StationCodeMap.hh:27
Class MHO_TableContainer.
Definition: MHO_TableContainer.hh:36
Definition: difx2mark4.h:111
Definition: MHO_ChannelLabeler.hh:17