11 #ifndef __baseband_dsp_LoadToFoldConfig_h
12 #define __baseband_dsp_LoadToFoldConfig_h
16 #include "dsp/LoadToFold1.h"
17 #include "dsp/FilterbankConfig.h"
18 #include "dsp/InverseFilterbankConfig.h"
19 #include "dsp/TwoBitCorrectionConfig.h"
39 void set_archive_class (
const std::string&);
41 TwoBitCorrection::Config twobit_config;
44 bool apply_FITS_scale_and_offset;
47 bool coherent_dedispersion;
50 bool coherent_derotation;
53 bool interchan_dedispersion;
56 double dispersion_measure;
59 double rotation_measure;
71 std::string calibrator_database_filename;
75 unsigned times_minimum_nfft;
83 unsigned cyclic_nchan;
84 unsigned cyclic_mover;
96 std::string sk_config;
102 bool sk_omit_outliers =
false;
105 std::vector<unsigned> sk_m;
106 void set_sk_m (std::string txt);
109 std::vector<unsigned> sk_noverlap;
110 void set_sk_noverlap (std::string txt);
113 std::vector<float> sk_std_devs;
114 void set_sk_std_devs (std::string txt);
117 unsigned sk_chan_start;
120 unsigned sk_chan_end;
129 bool sk_time_freq =
true;
132 unsigned sk_nthreads = 1;
135 bool sk_fold =
false;
142 Filterbank::Config filterbank;
145 std::string temporal_apodization_type;
146 std::string spectral_apodization_type;
149 InverseFilterbank::Config inverse_filterbank;
151 bool is_inverse_filterbank;
156 bool force_sensible_nbin;
159 unsigned integration_turns;
162 double integration_length;
165 std::string integration_reference_epoch;
168 double minimum_integration_length;
174 unsigned subints_per_archive;
177 std::string filename_convention;
181 integration_turns = 1;
182 integration_length = 0;
189 bool single_archiver_required ()
191 return single_archive || subints_per_archive > 0;
195 bool concurrent_archives ()
197 return integration_turns && !single_archiver_required();
201 bool may_be_more_than_one_archive_per_second ()
203 return integration_turns;
206 std::string reference_epoch;
207 double reference_phase;
208 double folding_period;
209 bool fractional_pulses;
211 bool asynchronous_fold;
225 std::vector< std::string > additional_pulsars;
228 std::vector< Reference::To<Pulsar::Parameters> > ephemerides;
231 std::vector< Reference::To<Pulsar::Predictor> > predictors;
243 bool no_dynamic_extensions;
246 std::string archive_class;
247 bool archive_class_specified_by_user;
250 std::string archive_filename;
253 std::string archive_extension;
256 std::vector<std::string> jobs;
259 std::string command_line;