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) |
void | MakeArraysforFFT (double *vsignalarray_e, double *vsignalarray_h, double *vsignal_e_forfft, double *vsignal_h_forfft) |
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 | BoxAverageComplex (double *array, const int n, int navg) |
void | BoxAverage (double *array, const int n, int navg) |
int | GetRx (int ilayer, int ifold) |
int | GetRxTriggerNumbering (int ilayer, int ifold) |
void | getDiodeModel () |
void | myconvlv (double *timedomain_forconvl, const int NFOUR, double *fdiode, double &maxdiodeconvl, double &onediodeconvl, double *power_noise, double *diodeconv) |
void | GetArrivalTimes (int inu, const Vector &rf_direction) |
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 *freq_noise, double *vmmhz, int NPOINTS_NOISE) |
void | normalize_for_nsamples (double *spectrum, double nsamples, double nsamp) |
void | convert_power_spectrum_to_voltage_spectrum_for_fft (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 *) |
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) |
Static Public Attributes | |
static const int | NBANDS_MAX =100 |
static const int | NFREQ =128 |
static const int | NTRIG =5 |
static const int | NANTENNAS_MAX =2000 |
static const int | NLAYERS_MAX =5 |
static const int | NTRIGGERLAYERS_MAX =3 |
static const int | NPHI_MAX =400 |
static const int | NFOUR =1024 |
static const int | HALFNFOUR =512 |
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.
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::convert_power_spectrum_to_voltage_spectrum_for_fft | ( | 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 | ||
) |
double Anita::Get_gain_angle | ( | int | gain_type, |
int | k, | ||
double | hitangle | ||
) |
|
static |
void Anita::GetArrivalTimes | ( | int | inu, |
const Vector & | rf_direction | ||
) |
int Anita::GetBeamWidths | ( | Settings * | settings1 | ) |
void Anita::getDifferentOffsets | ( | ) |
double Anita::GetDiffraction | ( | int | ilayer, |
double | zenith_angle, | ||
int | ifreq | ||
) |
void Anita::getDiodeModel | ( | ) |
|
static |
int Anita::getLabAttn | ( | int | NPOINTS_LAB, |
double * | freqlab, | ||
double * | labattn | ||
) |
|
static |
void Anita::GetNoiseWaveforms | ( | ) |
void Anita::GetPhases | ( | ) |
int Anita::GetRx | ( | int | ilayer, |
int | ifold | ||
) |
int Anita::GetRxTriggerNumbering | ( | int | ilayer, |
int | ifold | ||
) |
|
static |
void Anita::Initialize | ( | Settings * | settings1, |
ofstream & | foutput, | ||
int | inu | ||
) |
void Anita::labAttn | ( | double * | vhz | ) |
void Anita::MakeArraysforFFT | ( | double * | vsignalarray_e, |
double * | vsignalarray_h, | ||
double * | vsignal_e_forfft, | ||
double * | vsignal_h_forfft | ||
) |
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::ReadGains | ( | void | ) |
void Anita::RFCMs | ( | int | ilayer, |
int | ifold, | ||
double * | freq_noise, | ||
double * | vmmhz, | ||
int | NPOINTS_NOISE | ||
) |
void Anita::Set_gain_angle | ( | Settings * | settings1, |
double | nmedium_receiver | ||
) |
void Anita::SetDiffraction | ( | ) |
|
static |
|
static |
double Anita::ampl[NANTENNAS_MAX][NPOINTS_AMPL] |
double Anita::ampl_notdb[NANTENNAS_MAX][NPOINTS_AMPL] |
double Anita::ANTENNA_DOWN[NLAYERS_MAX][NPHI_MAX] |
Vector Anita::ANTENNA_POSITION_START[NLAYERS_MAX][NPHI_MAX] |
Vector Anita::antenna_positions[NLAYERS_MAX *NPHI_MAX] |
int Anita::antennatosurf[32] |
double Anita::arrival_times[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] |
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_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[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_e[5] |
int Anita::channels_passing_h[5] |
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 Anita::DEADTIME |
double Anita::diffraction[2][89][NFREQ] |
double Anita::diode_real[5][NFOUR] |
double Anita::emfrac_inanita |
double Anita::energythreshold |
double Anita::f_noise[NFOUR/4] |
double Anita::f_phases[NFOUR/4] |
double Anita::f_pulser[NFOUR/4] |
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 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_forplotting[NFOUR/4] |
double Anita::FREQ_HIGH |
double Anita::FREQ_LOW |
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_theory[HALFNFOUR/2] |
double Anita::freqlab[NPOINTS_LAB] |
double Anita::frequency_forgain_measured[NPOINTS_GAIN] |
TFile* Anita::fsignals |
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] |
double Anita::hadfrac_inanita |
|
static |
double Anita::hhGaintoHeight[NFREQ] |
TH1F* Anita::hsignals[5] |
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] |
double Anita::impedence |
double Anita::INCLINE_NADIR |
double Anita::INCLINE_TOPTHREE |
double Anita::INCLUDE_NADIRONLY |
double Anita::integral_vmmhz_foranita |
double Anita::INTEGRATIONTIME |
double Anita::inv_angle_bin_size[6] |
int Anita::irx |
int Anita::iwindow[5] |
int Anita::l1_passing |
int Anita::l1_passing_allantennas[48] |
double Anita::l1window |
double Anita::labattn[NPOINTS_LAB] |
double Anita::LAYER_HPOSITION[Anita::NLAYERS_MAX] |
double Anita::LAYER_PHIPOSITION[Anita::NLAYERS_MAX] |
double Anita::LAYER_VPOSITION[Anita::NLAYERS_MAX] |
double Anita::LIVETIME |
double Anita::MAX_PHI_HYPOTHESIS |
double Anita::MAX_THETA_HYPOTHESIS |
int Anita::maxbin_fortotal[5] |
double Anita::maxt_diode |
double Anita::maxthreshold |
double Anita::MIN_PHI_HYPOTHESIS |
double Anita::MIN_THETA_HYPOTHESIS |
double Anita::minsignalstrength |
unsigned Anita::N_STEPS_PHI |
unsigned Anita::N_STEPS_THETA |
|
static |
|
static |
|
static |
int Anita::NBANDS |
|
static |
int Anita::NCH_PASS |
|
static |
|
static |
|
static |
int Anita::nnoiseevents |
int Anita::noiseeventcounter |
double Anita::noisetemp[NANTENNAS_MAX][NPOINTS_AMPL] |
double Anita::NOTCH_MAX |
double Anita::NOTCH_MIN |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
int Anita::NRX_PHI[NLAYERS_MAX] |
|
static |
|
static |
int Anita::NTRIGGERLAYERS |
|
static |
|
static |
|
static |
int Anita::number_all_antennas |
int Anita::passglobtrig |
double Anita::peak_e_rx_rfcm |
double Anita::peak_e_rx_rfcm_lab |
double Anita::peak_e_rx_rfcm_signalonly |
double Anita::peak_e_rx_signalonly |
double Anita::peak_h_rx_rfcm |
double Anita::peak_h_rx_rfcm_lab |
double Anita::peak_h_rx_rfcm_signalonly |
double Anita::peak_h_rx_signalonly |
double Anita::peak_v_banding_rfcm_e[5] |
double Anita::peak_v_banding_rfcm_h[5] |
int Anita::PERCENTBW |
double Anita::phase |
double Anita::phases[5][HALFNFOUR] |
double Anita::phases_lab_e[HALFNFOUR/2] |
double Anita::phases_lab_h[HALFNFOUR/2] |
double Anita::phases_rfcm_banding_e[5][HALFNFOUR/2] |
double Anita::phases_rfcm_banding_h[5][HALFNFOUR/2] |
double Anita::phases_rfcm_e[HALFNFOUR/2] |
double Anita::phases_rfcm_h[HALFNFOUR/2] |
double Anita::PHI_EACHLAYER[NLAYERS_MAX][NPHI_MAX] |
double Anita::PHI_OFFSET[NLAYERS_MAX] |
int Anita::PHITRIG[NLAYERS_MAX] |
int Anita::pol_allowed[2] |
double Anita::powerthreshold[5] |
double Anita::powerthreshold_nadir[5] |
double Anita::probability[5] |
int Anita::PULSER |
double Anita::reference_angle[7] |
int Anita::REQUIRE_CENTRE |
double Anita::rms_lab_e |
double Anita::rms_lab_h |
double Anita::rms_rfcm_e |
double Anita::rms_rfcm_e_single_event |
double Anita::rms_rfcm_h |
double Anita::RRX[Anita::NLAYERS_MAX] |
int Anita::rx_minarrivaltime |
double Anita::scalef1[NFREQ] |
double Anita::scalef2[NFREQ] |
double Anita::SIGMA_THETA |
double Anita::signal_vpol_inanita[5][HALFNFOUR] |
double Anita::ston[5] |
TRandom3* Anita::summed_power_trigger_digitizer_zero_random |
TTree* Anita::tdata |
TTree* Anita::tdiode |
TTree* Anita::tglob |
double Anita::THETA_ZENITH[NLAYERS_MAX] |
double Anita::time[NFOUR/2] |
double Anita::time_centered[NFOUR/2] |
double Anita::time_long[NFOUR] |
double Anita::timedomain_output_1_allantennas[48][HALFNFOUR] |
double Anita::timedomain_output_1_corrected_forplotting[6][HALFNFOUR] |
double Anita::timedomain_output_1_inanita[5][HALFNFOUR] |
double Anita::timedomain_output_2_allantennas[48][HALFNFOUR] |
double Anita::timedomain_output_2_corrected_forplotting[6][HALFNFOUR] |
double Anita::timedomain_output_2_inanita[5][HALFNFOUR] |
double Anita::timedomainnoise_lab_e[HALFNFOUR] |
double Anita::timedomainnoise_lab_h[HALFNFOUR] |
double Anita::timedomainnoise_rfcm_banding_e[5][HALFNFOUR] |
double Anita::timedomainnoise_rfcm_banding_h[5][HALFNFOUR] |
double Anita::timedomainnoise_rfcm_e[HALFNFOUR] |
double Anita::timedomainnoise_rfcm_h[HALFNFOUR] |
double Anita::timedomainsignal_lab[HALFNFOUR] |
double Anita::timedomainsignal_rfcm[HALFNFOUR] |
double Anita::TIMESTEP |
double Anita::total_diodeinput_1_allantennas[48][HALFNFOUR] |
double Anita::total_diodeinput_1_inanita[5][HALFNFOUR] |
double Anita::total_diodeinput_2_allantennas[48][HALFNFOUR] |
double Anita::total_diodeinput_2_inanita[5][HALFNFOUR] |
double Anita::total_vpol_inanita[5][HALFNFOUR] |
double Anita::TRIG_TIMESTEP |
int Anita::trigRequirements[NLAYERS_MAX] |
TTree* Anita::tsignals |
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] |
double Anita::vmmhz_banding_rfcm[NFREQ] |
double Anita::VNOISE[NLAYERS_MAX] |
double Anita::VNOISE_ANITALITE[NPHI_MAX] |
double Anita::volts_rx_rfcm_e[HALFNFOUR] |
double Anita::volts_rx_rfcm_h[HALFNFOUR] |
double Anita::volts_rx_rfcm_lab_e[HALFNFOUR] |
double Anita::volts_rx_rfcm_lab_e_all[48][HALFNFOUR] |
double Anita::volts_rx_rfcm_lab_h[HALFNFOUR] |
double Anita::volts_rx_rfcm_lab_h_all[48][HALFNFOUR] |
double Anita::vvGaintoHeight[NFREQ] |
int Anita::whichbin[NFREQ] |