AnalysisConfig.h
1 #ifndef UCORRELATOR_ANALYSIS_CONFIG_H
2 #define UCORRELATOR_ANALYSIS_CONFIG_H
3 
4 #include "AnitaConventions.h"
5 class TH2;
6 
7 
8 namespace AnitaResponse
9 {
10 class DeconvolutionMethod;
11 }
12 
13 namespace UCorrelator
14 {
15 
16 
20  {
21  public:
22 
23 
25  AnalysisConfig(const char * config_file = 0);
26  ~AnalysisConfig();
27 
29  void loadFromFile(const char * config_file);
30 
31  unsigned correlator_nphi;
32  unsigned correlator_ntheta;
36 
39  double zoomed_dphi;
40  double zoomed_dtheta;
42 
43  unsigned combine_nantennas;
44  unsigned combine_npad;
45 
47 
50 
54 
57  {
58  FinePeakFindingAbby,
65  } fine_peak_finding_option;
66 
67  static const char * getPeakFindingString(FinePeakFindingOption_t opt);
68 
70  {
71  ResponseNone ,
72  ResponseSingleBRotter,
78  ResponseA4Old, // the old A4 impulse response pre UH 2019 measurements.
79  ResponseCustomString // make sure you set response_string;
80  } response_option;
81 
82  const char * response_string;
83 
84  static const char * getResponseString(ResponseOption_t opt);
85  int response_npad; //number of times to pad (in freq domain) the response
86 
87 
88  int nmaxima;
90 
91  double bw_ndb;
93  double spectral_fit_stop;
94 
95  double noise_estimate_t0;
97 
101  double correlation_gain_correction ; // off-boresight gain correction sigma used in making maps. Default is 0, which disables it
102 
103 
104  //payload blast cuts (if 0, then ignored)
105  double max_mean_power_filtered;
106  double max_median_power_filtered;
107  double max_bottom_to_top_ratio;
108 
109  //maximum amount theta can be adjusted downward (default, 3 degrees)
110  double max_theta_adjustment;
111 
115  class Pulser
116  {
117  public:
118  Pulser(double offset, double distance, double dt) : GPS_offset(offset), max_distance(distance), max_dt(dt) { ; }
119  double GPS_offset;
120  double max_distance;
121  double max_dt;
122  };
123 
124  Pulser wais_hpol, wais_vpol, siple_hpol, siple_vpol;
125 
128  TH2* ldb_hist() const;
129  int ldb_max_run;
130 
133 
136 
139 
144 
148 
149  bool r_time_shift_correction; //if delaying to center, apply a correction for the effective different R's
150 
151  bool simulation_time_shift_correction; //make the correction for different R's correct for simulated events (to fix polarization calculations). Need r_time_shift_correction ON for this to work
152 
155 
158 
161 
168 
169  double stokes_fracI;
170 
171 
174 
177 
180 
181  double combine_t0;
182  double combine_t1;
183 
184  bool fill_channel_info;
185  private:
186  mutable TH2 * the_ldb_hist;
187  };
188 }
189 
190 
191 #endif
A4 response without the TUFFs - these are new UH 2019 impulses.
AnalysisConfig(const char *config_file=0)
double zoomed_dphi
number of theta bins in zoomed correlation map
Bicubic interpolation (not implemented yet)
double correlation_gain_correction
exponent for baseline weighting of correlation maps (since longer baselines give you better resolutio...
double noise_estimate_t1
this is used to pick parts of the waveform for calcuating the N in SNR
bool scale_by_cos_theta
this is used to pick parts of the waveform for calcuating the N in SNR
Harm's signal chain only thing (currently used in icemc)
int zoomed_nant
size of theta bins in zoomed correlation map
double max_peak_trigger_angle
Minimum distance.
int zoomed_ntheta
number of phi bins in zoomed correlation map
A3 response with TUFFs convolved in.
int zoomed_nphi
enable group delay in interferometer
FinePeakFindingOption_t
Minimum distance of a phi sector peak lies in from an unmasked sector. If 0, only unmasked sectors wi...
unsigned combine_nantennas
If non-zero, limit antennas considered in zoomed correlation map to nearest zoomed_nant antennas...
double baseline_weight
use offline phi masking / l1 triggers (default true)
AnitaResponse::DeconvolutionMethod * deconvolution_method
unsigned correlator_ntheta
Number of phi bins in rough correlation map.
double peak_isolation_requirement
End polarization for Analyer (kHORIZONTAL if you want just hpo. kVERTICAL if you want just vpol or bo...
double correlator_theta_lowest
Number of theta bins in rough correlation map.
A4 response with TUFFs convolved in - these are new UH 2019 impulses.
double zoomed_dtheta
size of phi bins in zoomed correlation map
double bw_ndb
True to use bin center in interferometric map.
quadratic fit near peak, using 25 bins
unsigned combine_npad
number of antennas used to create coherent / deconvolved waveforms
bool use_offline_mask
Scale peak values by cos theta when picking max (due to different bin sizes)
bool use_bin_center
number of maxima computed
int min_peak_distance_from_unmasked
Maximum distance from trigger angle to consider a peak (<=0 is any, default 0);.
bool enable_group_delay
Highest elevation considered, measured as positive above horizon. (negative would be below horizon) ...
double saturation_threshold
supersampling factor for combining waveforms (i.e. how many times to pad in fourier domain...
void loadFromFile(const char *config_file)
double correlator_theta_highest
Lowest elevation considred, measured as positive below horizon. (negative would be above horizon) ...
AnitaPol::AnitaPol_t start_pol
threshold to consider a waveform saturated
double spectral_fit_start
the bandwidth of a waveform is defined as the portion of the power spectrum near the highest value ab...
enum AnitaPol::EAnitaPol AnitaPol_t
Polarisation enumeration.
AnitaPol::AnitaPol_t end_pol
Start polarization for Analyer (kHORIZONTAL if you want just hpol or both, kVERTICAL if you want just...