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