Contains everything about positions within payload and signals it sees for each event, in both the trigger and signal paths. More...
#include <anita.hh>
Public Member Functions | |
void | Initialize (Settings *settings1, ofstream &foutput, int inu, TString outputdir) |
initialize a bunch of stuff | |
void | initializeFixedPowerThresholds (ofstream &foutput) |
void | readVariableThresholds (Settings *settings1) |
void | readAmplification () |
void | getDiodeDataAndAttenuation (Settings *settings1, TString outputdir) |
void | getPulserData () |
void | MakeArrayforFFT (double *vsignalarray_e, double *vsignal_e_forfft, double phasedelay, bool useconstantdelay) |
void | GetArrayFromFFT (double *tmp_fftvhz, double *vhz_rx) |
int | Match (int ilayer, int ifold, int rx_minarrivaltime) |
int | getLabAttn (int NPOINTS_LAB, double *freqlab, double *labattn) |
void | labAttn (double *vhz) |
void | SetNoise (Settings *settings1, Balloon *bn1, IceModel *antarctica) |
void | calculate_antenna_positions (Settings *settings1, double pitch, double roll, double phi_spin, Vector n_north, Vector n_east) |
void | setphiTrigMaskAnita3 (UInt_t realTime_flightdata) |
void | setphiTrigMask (UInt_t realTime_flightdata) |
void | setTimeDependentThresholds (UInt_t realTime_flightdata) |
void | BoxAverageComplex (double *array, const int n, int navg) |
void | BoxAverage (double *array, const int n, int navg) |
int | GetRx (int ilayer, int ifold) |
get antenna number based on which layer and position it is | |
int | GetRxTriggerNumbering (int ilayer, int ifold) |
get antenna number based on which layer and position it is | |
void | getDiodeModel () |
void | setDiodeRMS (Settings *settings1, TString outputdir) |
void | myconvlv (double *timedomain_forconvl, const int NFOUR, double *fdiode, double &maxdiodeconvl, double &onediodeconvl, double *power_noise, double *diodeconv) |
void | GetArrivalTimes (const Vector &rf_direction, Balloon *bn1, Settings *settings1) |
void | GetArrivalTimesBoresights (const Vector rf_direction[NLAYERS_MAX][NPHI_MAX]) |
void | GetArrivalTimesBoresights (const Vector rf_direction[NLAYERS_MAX][NPHI_MAX], Balloon *bn1, Settings *settings1) |
int | AntennaWaveformtoSurf (int ilayer, int ifold) |
void | Banding (int j, double *freq_noise, double *powerperfreq, int NPOINTS_NOISE) |
void | Banding (int iband, double *vmmhz) |
void | RFCMs (int ilayer, int ifold, double *vmmhz) |
void | normalize_for_nsamples (double *spectrum, double nsamples, double nsamp) |
void | convert_power_spectrum_to_voltage_spectrum_for_fft (int length, double *spectrum, double domain[], double phase[]) |
void | GetNoiseWaveforms () |
void | GetPhases () |
int | GetBeamWidths (Settings *settings1) |
void | Set_gain_angle (Settings *settings1, double nmedium_receiver) |
double | Get_gain_angle (int gain_type, int k, double hitangle) |
void | ReadGains () |
void | AntennaGain (Settings *settings1, double hitangle_e, double hitangle_h, double e_component, double h_component, int k, double &vsignalarray_e, double &vsignalarray_h) |
void | SetDiffraction () |
double | GetDiffraction (int ilayer, double zenith_angle, int ifreq) |
void | calculate_all_offsets (void) |
void | getDifferentOffsets () |
void | printDifferentOffsets () |
void | calculate_single_offset (const unsigned center_phi_sector_index, const double angle_phi, const double angle_theta, double hypothesis_offset[][3]) |
void | calculate_single_offset (const unsigned center_phi_sector_index, const unsigned index_phi, const unsigned index_theta, double hypothesis_offset[][3]) |
void | fill_coherent_waveform_sum_tree (unsigned inu, unsigned center_phi_sector, Settings *settings1, double rms_noise, double actual_rms, unsigned window_start, unsigned window_end, double deg_theta, double deg_phi, double actual_deg_theta, double actual_deg_phi, vector< double > &summed_wfm, vector< double > &power_of_summed_wfm, double power) |
void | GetPayload (Settings *, Balloon *) |
void | calculateDelaysForEfficiencyScan () |
void | GetPhasesFromFFT (double *tmp_fftvhz, double *phases) |
void | FromTimeDomainToIcemcArray (double *vsignalarray, double vhz[NFREQ]) |
Public Attributes | |
int | tuffIndex |
int | number_all_antennas |
this keeps count of the number of antennas for use with timing calculations, etc. | |
Vector | ANTENNA_POSITION_START [2][NLAYERS_MAX][NPHI_MAX] |
antenna positions from Kurt's measurements | |
double | ANTENNA_DOWN [NLAYERS_MAX][NPHI_MAX] |
down angles of antennas from Kurt's measurements | |
double | SIMON_DELTA_R [NLAYERS_MAX][NPHI_MAX] |
measurements by Simon used in analysis ANITA-2 | |
double | SIMON_DELTA_PHI [NLAYERS_MAX][NPHI_MAX] |
measurements by Simon used in analysis ANITA-2 | |
Vector | antenna_positions [2][NLAYERS_MAX *NPHI_MAX] |
these are the antenna positions in space in a coordinate system where x=north and y=west and the origin is at the center of the payload | |
int | NRX_PHI [NLAYERS_MAX] |
number of antennas around in each layer. (radians) | |
double | PHI_EACHLAYER [NLAYERS_MAX][NPHI_MAX] |
phi of the center of each antenna on each layer | |
double | PHI_OFFSET [NLAYERS_MAX] |
antenna offset in phi for each layer (radians) | |
double | THETA_ZENITH [NLAYERS_MAX] |
how the antenna is tilted in theta (in radians with 0=up) | |
int | inu |
Neutrino number. | |
double | LAYER_VPOSITION [Anita::NLAYERS_MAX] |
position of layers in z relative to vertical center of the payload | |
double | LAYER_HPOSITION [Anita::NLAYERS_MAX] |
distance in horizontal plane between center axis of the "payload" and each "layer". | |
double | LAYER_PHIPOSITION [Anita::NLAYERS_MAX] |
phi corresponding to the position of each "layer" on the "payload" | |
double | RRX [Anita::NLAYERS_MAX] |
radius that the antenna sits from the axis of the payload (feedpoint) | |
Double_t | deltaTPhaseCentre [2][NLAYERS_MAX][NPHI_MAX] |
Relative to photogrammetry + ring offset. | |
double | THERMALNOISE_FACTOR |
factor to multiply thermal noise for error analysis | |
double | additionalDt |
TFile * | fnoise |
TTree * | tdiode |
int | NBANDS |
number of frequency sub-bands (not counting full band) | |
int | PERCENTBW |
percent bandwidth | |
double | signal_vpol_inanita [5][HALFNFOUR] |
this is the signal waveform in the vertical polarization, before converting to LCP, RCP where applicable | |
double | total_vpol_inanita [5][HALFNFOUR] |
this is the sum of the signal and noise in the vertical polarization, before converting to LCP, RCP where applicable | |
double | timedomainsignal_rfcm [HALFNFOUR] |
double | timedomainsignal_lab [HALFNFOUR] |
TTree * | turfratechain |
TTree * | surfchain |
TFile * | fturf |
TFile * | fsurf |
UShort_t | phiTrigMask |
UShort_t | phiTrigMaskH |
UShort_t | l1TrigMask |
UShort_t | l1TrigMaskH |
Double_t | deadTime |
fractional deadTime | |
unsigned int | realTime_turfrate |
realtime from the turf rate file | |
unsigned int | realTime_tr_min |
min realtime from the turf rate file | |
unsigned int | realTime_tr_max |
max realtime from the turf rate file | |
unsigned int | realTime_surf |
realtime from the surf file | |
unsigned int | realTime_surf_min |
min realtime from the surf file | |
unsigned int | realTime_surf_max |
max realtime from the surf file | |
UShort_t | thresholds [2][48] |
thresholds as read from the surf file: first index is pol, second is antenna number (only working for Anita3) | |
UShort_t | scalers [2][48] |
scalers as read from the surf file: first index is pol, second is antenna number (only working for Anita3) | |
Double_t | fakeThresholds [2][48] |
Fake thresholds (coming from converting fake scalers to thresholds) | |
Double_t | fakeThresholds2 [2][48] |
Fake thresholds 2 (coming from converting flight scalers to thresholds) | |
Double_t | fakeScalers [2][48] |
Fake scalers (coming from converting threhsolds during flight to scalers using threshold scan) | |
int | iturf |
int | isurf |
int | iturfevent |
Float_t | threshScanThresh [2][48][npointThresh] |
adc thresholds from threshold scan | |
Float_t | threshScanScaler [2][48][npointThresh] |
scalers from threshold scan | |
Float_t | minadcthresh [2][48] |
Float_t | maxadcthresh [2][48] |
double | total_diodeinput_1_inanita [5][HALFNFOUR] |
this is the waveform that is input to the tunnel diode in the first (LCP or vertical) polarization | |
double | total_diodeinput_2_inanita [5][HALFNFOUR] |
this is the waveform that is input to the tunnel diode in the second (RCP or horizontal) polarization | |
double | total_diodeinput_1_allantennas [48][HALFNFOUR] |
this is across all antennas, just the full band | |
double | total_diodeinput_2_allantennas [48][HALFNFOUR] |
needs comment | |
double | timedomain_output_inanita [2][5][HALFNFOUR] |
this is just for writing out to the following tree | |
double | time_trig [HALFNFOUR] |
double | weight_inanita |
int | arrayofhits_inanita [3][16][2][HALFNFOUR] |
int | arrayofhits_forgaryanderic [3][16][2][HALFNFOUR] |
int | l1trig_anita3and4_inanita [2][16][HALFNFOUR] |
int | l1trig_anita4lr_inanita [3][16][HALFNFOUR] |
int | l1trig_anita4lr_forgaryanderic [3][16][HALFNFOUR] |
int | l2trig_anita4lr_inanita [16][3][HALFNFOUR] |
int | l2trig_anita4lr_forgaryanderic [16][HALFNFOUR] |
when it passes 2/3 | |
int | l3type0trig_anita4lr_inanita [16][HALFNFOUR] |
int | l3trig_anita4lr_inanita [16][HALFNFOUR] |
int | l3type0trig_anita4lr_forgaryanderic [16][HALFNFOUR] |
int | l3type1trig_anita4lr_forgaryanderic [16][HALFNFOUR] |
double | timedomain_output_corrected_forplotting [2][6][HALFNFOUR] |
this is just for writing out to the following tree | |
double | timedomain_output_allantennas [2][48][HALFNFOUR] |
this is across all antennas, just the full band | |
int | flag_e_inanita [5][HALFNFOUR] |
int | flag_h_inanita [5][HALFNFOUR] |
double | dangle_inanita |
double | emfrac_inanita |
double | hadfrac_inanita |
double | ston [5] |
signal to noise; | |
int | iminbin [5] |
this is the minimum bin to start | |
int | imaxbin [5] |
int | maxbin_fortotal [5] |
when it sums the noise and signal together it shortens the waveform | |
double | peak_v_banding_rfcm [2][5] |
peak V in e/h polarization after rfcm's and banding | |
double | peak_rx_signalonly [2] |
peak voltage in e/h polarization received by the antenna | |
double | peak_rx_rfcm [2] |
peak voltage in e/h polarization received by the antenna | |
double | peak_rx_rfcm_signalonly [2] |
peak voltage in e/h polarization received by the antenna | |
double | peak_rx_rfcm_lab [2] |
peaks of the previous arrays | |
int | channels_passing [2][5] |
channels passing. This is reset for every antenna for every event | |
int | channels_passing_justNoise [2][5] |
channels passing. This is reset for every antenna for every event | |
int | l1_passing |
int | l1_passing_allantennas [48] |
int | irx |
double | avgfreq_rfcm [NFREQ] |
double | avgfreq_rfcm_lab [NFREQ] |
double | vmmhz_banding [NFREQ] |
V/m/MHz after banding. | |
double | vmmhz_banding_rfcm [NFREQ] |
V/m/MHz after banding and rfcms. | |
double | rms_rfcm_e_single_event |
This is in Volts, not mV! | |
double | rms_rfcm [2] |
rms noise just after rfcm's | |
double | rms_lab [2] |
rms noise at lab chip | |
TFile * | fsignals |
TTree * | tsignals |
TFile * | fdata |
TTree * | tdata |
writing data out for the analysers | |
TTree * | tgaryanderic |
writing data out for the analysers | |
TTree * | tglob |
TH1F * | hsignals [5] |
s/n (max diode output/mean diode output) for vertical polarization in each band | |
double | f_pulser [NFOUR/4] |
double | f_phases [NFOUR/4] |
double | f_noise [NFOUR/4] |
double | v_pulser [NFOUR/4] |
double | v_phases [NFOUR/4] |
double | v_noise [NFOUR/4] |
double | cumulat_prob [9] |
double | cumulat_prob_plus1 [9] |
double | timedomainnoise_rfcm_banding [2][5][HALFNFOUR] |
double | timedomainnoise_rfcm_banding_long [2][5][HALFNFOUR] |
double | timedomainnoise_rfcm [2][HALFNFOUR] |
double | timedomainnoise_lab [2][HALFNFOUR] |
double | timedomainnoise_rfcm_long [2][HALFNFOUR] |
double | timedomainnoise_lab_long [2][HALFNFOUR] |
double | phases [5][HALFNFOUR] |
int | passglobtrig [2] |
double | integral_vmmhz_foranita |
int | nnoiseevents |
total number of noise events we're choosing from | |
int | noiseeventcounter |
counts which event we're on so we go in order | |
double | FREQ_LOW |
lowest frequency | |
double | FREQ_HIGH |
highest frequency | |
double | NOTCH_MIN |
low edge of notch filter. This is set in the input file | |
double | NOTCH_MAX |
int | BANDING |
double | freq [NFREQ] |
double | freq_forfft [NFOUR] |
double | freq_forplotting [NFOUR/4] |
double | freq_forfft_long [2 *NFOUR] |
double | freq_forplotting_long [NFOUR/2] |
double | time [NFOUR/2] |
double | time_long [NFOUR] |
double | time_centered [NFOUR/2] |
double | freqdomain_rfcm_banding [5][HALFNFOUR/2] |
double | freqdomain_rfcm_banding_long [5][HALFNFOUR] |
double | freqdomain_rfcm [HALFNFOUR/2] |
double | freqdomain_rfcm_long [HALFNFOUR] |
double | freqdomain_rfcm_theory [HALFNFOUR/2] |
double | avgfreqdomain_lab [HALFNFOUR/2] |
double | avgfreqdomain_lab_long [HALFNFOUR] |
double | phases_rfcm_banding [2][5][HALFNFOUR/2] |
double | phases_rfcm_banding_long [2][5][HALFNFOUR] |
double | phases_rfcm [2][HALFNFOUR/2] |
double | phases_rfcm_long [2][HALFNFOUR] |
double | phases_lab [2][HALFNFOUR] |
double | phases_lab_long [2][HALFNFOUR] |
TF1 | fdiode |
double | maxt_diode |
int | idelaybeforepeak [5] |
int | iwindow [5] |
double | diode_real [5][NFOUR] |
double | fdiode_real [5][NFOUR] |
int | rx_minarrivaltime |
double | arrival_times [2][NLAYERS_MAX *NPHI_MAX] |
int | count_getnoisewaveforms |
double | freq_bands [5][NPOINTS_BANDS] |
double | attn_bands [5][NPOINTS_BANDS] |
double | bandsattn [5][NPOINTS_BANDS] |
double | correl_banding [5][NPOINTS_BANDS] |
double | correl_lab [NPOINTS_BANDS] |
double | freq_ampl [NANTENNAS_MAX][NPOINTS_AMPL] |
double | ampl [NANTENNAS_MAX][NPOINTS_AMPL] |
double | ampl_notdb [NANTENNAS_MAX][NPOINTS_AMPL] |
double | noisetemp [NANTENNAS_MAX][NPOINTS_AMPL] |
double | bwslice_vnoise [NLAYERS_MAX][5] |
double | probability [5] |
double | bwslice_enoise [5] |
double | bwslice_fwhmnoise [5] |
double | bwslice_rmsdiode [2][5] |
double | bwslice_meandiode [5] |
double | bwslice_vrms [5] |
double | bwslice_dioderms_fullband_allchan [2][48][7] |
double | bwslice_diodemean_fullband_allchan [2][48][7] |
double | freq_noise [5][NPOINTS_NOISE] |
double | impedence |
double | phase |
double | powerthreshold [5] |
double | powerthreshold_nadir [5] |
int | NCH_PASS |
double | l1window |
double | minsignalstrength |
double | INTEGRATIONTIME |
double | TIMESTEP |
double | DEADTIME |
double | TRIG_TIMESTEP |
unsigned | N_STEPS_PHI |
unsigned | N_STEPS_THETA |
double | energythreshold |
double | MIN_PHI_HYPOTHESIS |
double | MAX_PHI_HYPOTHESIS |
double | MIN_THETA_HYPOTHESIS |
double | MAX_THETA_HYPOTHESIS |
int | USEPHASES |
int | NTRIGGERLAYERS |
int | PHITRIG [NLAYERS_MAX] |
int | REQUIRE_CENTRE |
int | GAINS |
double | gainv_measured [NPOINTS_GAIN] |
double | gainh_measured [NPOINTS_GAIN] |
double | gainhv_measured [NPOINTS_GAIN] |
double | gainvh_measured [NPOINTS_GAIN] |
double | frequency_forgain_measured [NPOINTS_GAIN] |
double | gain_angle [4][NPOINTS_GAIN][7] |
double | flare [4][NFREQ] |
double | gain [2][NFREQ] |
double | reference_angle [7] |
double | inv_angle_bin_size [6] |
int | whichbin [NFREQ] |
double | scalef2 [NFREQ] |
double | scalef1 [NFREQ] |
double | vvGaintoHeight [NFREQ] |
double | hhGaintoHeight [NFREQ] |
double | hvGaintoHeight [NFREQ] |
double | vhGaintoHeight [NFREQ] |
double | diffraction [2][89][NFREQ] |
double | freqlab [NPOINTS_LAB] |
double | labattn [NPOINTS_LAB] |
double | VNOISE [NLAYERS_MAX] |
int | trigRequirements [NLAYERS_MAX] |
int | antennatosurf [32] |
double | maxthreshold |
double | bwslice_thresholds [5] |
int | bwslice_allowed [5] |
int | bwslice_required [5] |
int | pol_allowed [2] |
int | pol_required [2] |
double | bwslice_center [5] |
double | bwslice_width [5] |
double | bwslice_min [5] |
double | bwslice_max [5] |
double | bwmin |
TFile * | coherent_datafile |
TTree * | coherent_waveform_sum_tree |
unsigned | hypothesis_offsets [16][200][200][4][3] |
vector< vector< vector< double > > > | hypothesis_angles |
vector< vector< int > > | vdifferent_offsets |
vector< vector< double > > | vdifferent_angles |
unsigned | cwst_event_number |
unsigned | cwst_center_phi_sector |
double | cwst_rms_noise |
double | cwst_actual_rms |
double | cwst_threshold |
unsigned | cwst_window_start |
unsigned | cwst_window_end |
double | cwst_deg_theta |
double | cwst_deg_phi |
double | cwst_actual_deg_theta |
double | cwst_actual_deg_phi |
Vector | cwst_rf_direction |
Vector | cwst_0th_sector_position |
double | cwst_timesteps [HALFNFOUR] |
RX | cwst_RXs [48] |
RX | cwst_aligned_wfms [9] |
vector< double > | cwst_summed_wfm |
vector< double > | cwst_power_of_summed_wfm |
double | cwst_power |
double | VNOISE_ANITALITE [NPHI_MAX] |
double | INCLINE_TOPTHREE |
double | INCLINE_NADIR |
double | LIVETIME |
double | SIGMA_THETA |
double | extraCableDelays [2][48] |
Double_t | fTimes [HALFNFOUR] |
Double_t | fSignalChainResponseA3DigitizerFreqDomain [2][3][16][400] |
Double_t | fSignalChainResponseDigitizerFreqDomain [2][3][16][7][400] |
Double_t | fSignalChainResponseTriggerFreqDomain [2][3][16][7][400] |
Double_t | fRatioTriggerToA3DigitizerFreqDomain [2][3][16][7][400] |
Double_t | fRatioDigitizerToA3DigitizerFreqDomain [2][3][16][7][400] |
Double_t | deltaT |
Int_t | trigEffScanPhi |
Double_t | trigEffScanAtt [5] |
Double_t | trigEffScanPhiDelay [5] |
Double_t | trigEffScanRingDelay [3] |
Int_t | trigEffScanApplyRingDelay [5] |
Int_t | trigEffScanRingsUsed [3] |
Double_t | trigEffScanPulseAtAmpa [HALFNFOUR] |
Double_t | trigEffScanPulseAtAmpaUpsampled [NFOUR] |
Double_t | trigEffScanAmplitudeAtAmpa [NFREQ] |
Double_t | trigEffScanPulseAtSurf [250][HALFNFOUR] |
int | TUFFstatus [3] |
int | ntuffs |
Static Public Attributes | |
static const int | NBANDS_MAX =100 |
max number of bands | |
static const int | NPOL =2 |
number of polarizations | |
static const int | NFREQ =128 |
static const int | NTRIG =5 |
static const int | NANTENNAS_MAX =2000 |
static const int | NLAYERS_MAX =5 |
max number of layers (in smex design, it's 4) | |
static const int | NTRIGGERLAYERS_MAX =3 |
static const int | NPHI_MAX =400 |
max number of antennas around in phi (in smex, 16) | |
static const int | NFOUR =1024 |
static const int | HALFNFOUR =512 |
static const int | npointThresh = 1640 |
static const int | NPOINTS_BANDS =601 |
static const int | NPOINTS_AMPL =58 |
static const int | NPOINTS_NOISE =2000 |
static const int | nsamp =100 |
static const unsigned | N_SUMMED_PHI_SECTORS = 4 |
static const unsigned | N_SUMMED_LAYERS = 3 |
static const int | NTRIGPHISECTORS =16 |
static const int | NPOINTS_GAIN =131 |
static const int | NPOINTS_LAB =272 |
static const unsigned int | NUM_COHERENT_ANTENNAS = 9 |
Contains everything about positions within payload and signals it sees for each event, in both the trigger and signal paths.