icemc
|
Class that handles the channel trigger. More...
#include <ChanTrigger.h>
Public Member Functions | |
ChanTrigger () | |
Channel trigger constructur. More... | |
void | InitializeEachBand (Anita *anita1) |
Initialize trigger bands. More... | |
void | ApplyAntennaGain (Settings *settings1, Anita *anita1, Balloon *bn1, Screen *panel1, int ant, Vector &n_eplane, Vector &n_hplane, Vector &n_normal) |
Apply the antenna gain. More... | |
void | TriggerPath (Settings *settings1, Anita *anita1, int ant, Balloon *bn1) |
Apply trigger path. More... | |
void | DigitizerPath (Settings *settings1, Anita *anita1, int ant, Balloon *bn1) |
Apply digitizer path. More... | |
void | TimeShiftAndSignalFluct (Settings *settings1, Anita *anita1, int ilayer, int ifold, double volts_rx_rfcm_lab_e_all[48][512], double volts_rx_rfcm_lab_h_all[48][512]) |
Time shift and fluctuate signal. More... | |
void | L1Trigger (Anita *anita1, double timedomain_output_1[5][Anita::NFOUR], double timedomain_output_2[5][Anita::NFOUR], double powerthreshold[2][5], int *channels_passing_e_forglob, int *channels_passing_h_forglob, int &npass) |
The L1 trigger of the Anita trigger scheme. More... | |
double | getRate () |
Returns the thisrate variable value (in MHz) More... | |
double | rateToThreshold (double rate, int band) |
Calculates the trigger threshold for an antenna via a fit from the "singles" rate and band identifier. More... | |
void | WhichBandsPass (Settings *settings1, Anita *anita1, GlobalTrigger *globaltrig1, Balloon *bn1, int ilayer, int ifold, double dangle, double emfrac, double hadfrac, double thresholds[2][5]) |
Which bands passes the trigger. More... | |
void | WhichBandsPassTrigger1 (Settings *settings1, Anita *anita1, GlobalTrigger *globaltrig1, Balloon *bn1, int ilayer, int ifold, double thresholds[2][5]) |
Which bands passes the trigger (for trigger scheme 0 and 1) More... | |
void | WhichBandsPassTrigger2 (Settings *settings1, Anita *anita1, GlobalTrigger *globaltrig1, Balloon *bn1, int ilayer, int ifold, double dangle, double emfrac, double hadfrac, double thresholds[2][5]) |
Which bands passes the trigger (for trigger scheme larger than 2) More... | |
void | GetThresholds (Settings *settings1, Anita *anita1, int ilayer, double thresholds[2][5]) |
Sets the threshold values based on which payload and where the antenna is located physically. More... | |
void | DiodeConvolution (Settings *settings1, Anita *anita1, GlobalTrigger *globaltrig1, int ilayer, int ifold, double mindiodeconvl[5], double onediodeconvl[5], double psignal[5][Anita::NFOUR], double timedomain_output[5][Anita::NFOUR], double timedomain_output_justNoise[5][Anita::NFOUR], int ibinshift, int ipol, double thresholds[2][5]) |
Apply the diode convolution. More... | |
void | addToChannelSums (Settings *settings1, Anita *anita1, int ibw, int k) |
Increment the volts in each band. More... | |
void | applyImpulseResponseDigitizer (Settings *settings1, Anita *anita1, int nPoints, int ant, double *x, double y[512], bool pol) |
Apply impulse response to digitizer path. More... | |
void | applyImpulseResponseTrigger (Settings *settings1, Anita *anita1, int ant, double y[512], double *vhz, bool pol) |
Apply impulse response to trigger path. More... | |
void | getNoiseFromFlight (Settings *settings1, Anita *anita1, int ant, bool also_digi=true) |
Add noise from ANITA-3 flight to the time domain waveforms. More... | |
void | injectImpulseAfterAntenna (Anita *anita1, int ant) |
Inject pulse after the antenna (used for trigger efficiency scans) More... | |
TGraph * | getPulserAtAMPA (Anita *anita1, int ant) |
Get time domain graph of pulse at AMPA (used for trigger efficiency scans) More... | |
void | saveTriggerWaveforms (Anita *anita1, double sig0[48], double sig1[48], double noise0[48], double noise1[48]) |
Save signal and noise waveforms at trigger. More... | |
void | saveDigitizerWaveforms (Anita *anita1, double sig0[48], double sig1[48], double noise0[48], double noise1[48]) |
Save signal and noise waveforms at digitizer. More... | |
void | injectImpulseAtSurf (Anita *anita1, double volts_triggerPath_e[Anita::HALFNFOUR], double volts_triggerPath_h[Anita::HALFNFOUR], int ant) |
Inject pulse at the surf (used for trigger efficiency scans) More... | |
void | calculateCW (Anita *anita1, double frequency, double phase, double amplitude) |
Add CW. More... | |
double | applyButterworthFilter (double ff, double ampl, int notchStatus[3]) |
Apply Butterworth Filter. More... | |
Static Public Member Functions | |
static void | ConvertEHtoLREfield (double, double, double &, double &) |
Convert E and H to left and right e field. More... | |
static void | ConvertEHtoLREnergy (double, double, double &, double &) |
Convert E and H to left and right energy. More... | |
static double | GetNoise (Settings *settings1, double altitude_bn, double geoid, double theta, double bw, double temp) |
Get Noise. More... | |
static double | FindPeak (double *waveform, int n) |
Find peak voltage of a waveform. More... | |
static int | IsItUnmasked (unsigned short surfTrigBandMask[9][2], int ibw, int ilayer, int ifold, int ipol) |
Returns whether the indicated antenna and band are "masked". More... | |
Public Attributes | |
double | vhz_rx [2][5][Anita::NFREQ] |
Array of amplitudes in the Fourier domain (V/Hz) after the antenna gain. Indeces stand for [ipol][iband][ifreq]. More... | |
double | volts_rx_forfft [2][5][Anita::HALFNFOUR] |
Array of time domain after the antenna gain. Indeces stand for [ipol][iband][itime]. More... | |
vector< int > | flag_e [5] |
Which bands pass trigger e. More... | |
vector< int > | flag_h [5] |
Which bands pass trigger h. More... | |
double | bwslice_volts_pol0 [5] |
Sum voltage for each slice in bandwidth for the lcp polarization. More... | |
double | bwslice_volts_pol1 [5] |
Sum voltage for each slice in bandwidth for the rcp polarization. More... | |
double | bwslice_energy_pol0 [5] |
Square the sum of voltage for each slice in bandwidth for the 0th polarization. More... | |
double | bwslice_energy_pol1 [5] |
Square the sum of voltage for each slice in bandwidth for the 1st polarization. More... | |
double | bwslice_volts_pol0_em [5] |
Component of the voltage that comes from the em shower for 0th polarization. More... | |
double | bwslice_volts_pol1_em [5] |
Component of the voltage that comes from the em shower for 1st polarization. More... | |
double | bwslice_volts_pole [5] |
Sum voltage for each slice in bandwidth for the e polarization. More... | |
double | bwslice_energy_pole [5] |
Square the sum of voltage for each slice in bandwidth for e polarization. The 5th element is the full band. More... | |
double | bwslice_volts_polh [5] |
Sum voltage for each slice in bandwidth for the h polarization. More... | |
double | bwslice_energy_polh [5] |
Square the sum of voltage for each slice in bandwidth for h polarization. The 5th element is the full band. More... | |
double | volts_rx_rfcm_lab [2][Anita::HALFNFOUR] |
For digitizer path, time domain voltage vs. time after rx, rfcm's and lab. More... | |
double | volts_rx_rfcm_lab_all [2][48][Anita::HALFNFOUR] |
For digitizer path, time domain voltage vs. time after rx, rfcm's and lab. More... | |
double | volts_rx_rfcm [2][Anita::HALFNFOUR] |
For digitizer path, time domain voltage vs. time after rx, rfcm's. More... | |
double | justNoise_digPath [2][Anita::HALFNFOUR] |
For digitizer path, time domain noise from flight. More... | |
double | justNoise_trigPath [2][Anita::HALFNFOUR] |
For trigger path, time domain noise from flight. More... | |
double | cw_digPath [2][Anita::HALFNFOUR] |
For digitizer path, time domain cw. More... | |
double | justSig_trigPath [2][Anita::HALFNFOUR] |
Just signal in trigger path. More... | |
double | justSig_digPath [2][Anita::HALFNFOUR] |
Just signal in trigger path. More... | |
double | signal_eachband [2][Anita::NBANDS_MAX] |
Signal in each band. More... | |
double | threshold_eachband [2][Anita::NBANDS_MAX] |
Threshold in each band. More... | |
double | noise_eachband [2][Anita::NBANDS_MAX] |
Noise in each band. More... | |
int | passes_eachband [2][Anita::NBANDS_MAX] |
Whether the signal passes or not each band. More... | |
vector< double > | vsignal_eachband [2] |
Signal in each band. More... | |
vector< double > | vthreshold_eachband [2] |
Threshold in each band. More... | |
vector< double > | vnoise_eachband [2] |
Noise in each band. More... | |
vector< int > | vpasses_eachband [2] |
Whether the signal passes or not each band. More... | |
double | v_banding_rfcm [2][5][Anita::NFREQ] |
This is Volts/m as a function of frequency after rfcm's and banding. More... | |
double | v_banding_rfcm_forfft [2][5][HALFNFOUR] |
Starts out as V/s vs. freq after banding, rfcm, after fft it is V vs. t. More... | |
double | vm_banding_rfcm_forfft [2][5][HALFNFOUR] |
Tunnel diode input (signal + noise) More... | |
double | vm_banding_rfcm_forfft_justNoise [2][5][HALFNFOUR] |
Tunnel diode input (just noise) More... | |
double | v_banding_rfcm_forfft_temp [2][5][HALFNFOUR] |
Use for the averaging over 10 neighboring bins. More... | |
double | integral_vmmhz |
Electric field integral. More... | |
int | unwarned |
Whether we have warned the user about resetting thresholds when they are beyond the measured bounds. More... | |
Private Member Functions | |
double | ADCCountstoPowerThreshold (Anita *anita1, int ipol, int iant) |
Private Attributes | |
double | thisrate |
Rate in MHz. More... | |
double | thispowerthresh |
Relative power threshold. More... | |
double | e_component |
E comp along polarization. More... | |
double | h_component |
H comp along polarization. More... | |
double | n_component |
normal comp along polarization More... | |
double | e_component_kvector |
component of e-field along the rx e-plane More... | |
double | h_component_kvector |
component of the e-field along the rx h-plane More... | |
double | n_component_kvector |
component of the e-field along the normal More... | |
double | hitangle_e |
angle the ray hits the antenna wrt e-plane More... | |
double | hitangle_h |
angle the ray hits the antenna wrt h-plane More... | |
Static Private Attributes | |
static const int | NSURF =9 |
Number of surfs. More... | |
static const int | NSURFPLUSONE =10 |
Number of surfs plus one. More... | |
static const int | NSURFMINUSONE =8 |
Number of surfs minus on1. More... | |
static const int | NCHANNELS =32 |
Number of channells on each surf. More... | |
static const int | NPOINTS =4073 |
Max number of points from surf measurements. More... | |
static const unsigned | NFOUR = 1024 |
Number of points in Fourier space. More... | |
static const unsigned | HALFNFOUR = 512 |
Half of the number of points in the Fourier space. More... | |
Class that handles the channel trigger.
ChanTrigger::ChanTrigger | ( | ) |
Channel trigger constructur.
|
private |
ADC counts to relative power threshold
Function to convert adc thresholds into relative power thresholds that can be handled by icemc So far this only works for ANITA-3 and full band trigger
anita1 | :: Anita - anita object |
ipol | :: int - which polarisation |
iant | :: int - which antenna number |
void ChanTrigger::ApplyAntennaGain | ( | Settings * | settings1, |
Anita * | anita1, | ||
Balloon * | bn1, | ||
Screen * | panel1, | ||
int | ant, | ||
Vector & | n_eplane, | ||
Vector & | n_hplane, | ||
Vector & | n_normal | ||
) |
Apply the antenna gain.
Loop through all points in the screen, and apply the antenna gain to each point All the waveforms are then summed with screen point weights and delay volts_rx_forfft = time domain waveforms after antenna gain vhz_rx = amplitude in Fourier domain after antenna gain
double ChanTrigger::applyButterworthFilter | ( | double | ff, |
double | ampl, | ||
int | notchStatus[3] | ||
) |
Apply Butterworth Filter.
This is an approximation of the notch filters flown during ANITA4
ff | :: frequenzy in Hz |
ampl | :: amplitude |
filters | :: array of three integers indicating notch status (on/off) |
void ChanTrigger::applyImpulseResponseDigitizer | ( | Settings * | settings1, |
Anita * | anita1, | ||
int | nPoints, | ||
int | ant, | ||
double * | x, | ||
double | y[512], | ||
bool | pol | ||
) |
Apply impulse response to digitizer path.
This can only work when FFTtools is also linked
void ChanTrigger::applyImpulseResponseTrigger | ( | Settings * | settings1, |
Anita * | anita1, | ||
int | ant, | ||
double | y[512], | ||
double * | vhz, | ||
bool | pol | ||
) |
Apply impulse response to trigger path.
This can only work when FFTtools is also linked
void ChanTrigger::calculateCW | ( | Anita * | anita1, |
double | frequency, | ||
double | phase, | ||
double | amplitude | ||
) |
Add CW.
Add CW in time domain
anita1 | :: Anita - anita payload object |
frequency | at which to simulate cw |
phase | |
amplitude |
|
static |
Convert E and H to left and right e field.
Convert E and H to left and right e field
e_component | :: double - |
h_component | :: double - |
lcp_component | :: double - referenced lcp component |
rcp_component | :: double - referenced rcp component |
|
static |
Convert E and H to left and right energy.
Convert E and H to left and right energy
e_component | :: double - |
h_component | :: double - |
lcp_component | :: double - referenced lcp component |
rcp_component | :: double - referenced rcp component |
Apply digitizer path.
Apply digitizer path to each channel volts_rx_rfcm_lab = time domain waveforms after digitizer path vhz_rx_rfcm_lab_e = amplitude in Fourier domain after digitizer path
void ChanTrigger::DiodeConvolution | ( | Settings * | settings1, |
Anita * | anita1, | ||
GlobalTrigger * | globaltrig1, | ||
int | ilayer, | ||
int | ifold, | ||
double | mindiodeconvl[5], | ||
double | onediodeconvl[5], | ||
double | psignal[5][Anita::NFOUR], | ||
double | timedomain_output[5][Anita::NFOUR], | ||
double | timedomain_output_justNoise[5][Anita::NFOUR], | ||
int | ibinshift, | ||
int | ipol, | ||
double | thresholds[2][5] | ||
) |
Apply the diode convolution.
settings1 | :: Settings - simulation settings |
anita1 | :: Anita - anita object |
globaltrig1 | :: GlobalTrigger - global trigger object |
ilayer | :: int - layer number |
ifold | :: int - phi sector |
mindiodeconvl | :: double[5] |
onediodeconvl | :: double[5] |
psignal | :: double[5][NFOUR] |
timedomain_output | :: double[5][NFOUR] |
ibinshift | :: int |
ipol | :: int - which polarization |
thresholds | :: double[2][5] - relative power thresholds for each pol and band |
|
static |
Find peak voltage of a waveform.
waveform | :: double* - waveform |
n | :: int - number of points in waveform |
|
static |
Get Noise.
settings1 | :: Settings - the simulation settings |
altitude_bn | :: double - altitude of the balloon |
geoid | :: double - |
bw | :: double - |
theta | :: double - |
temp | :: double - |
void ChanTrigger::getNoiseFromFlight | ( | Settings * | settings1, |
Anita * | anita1, | ||
int | ant, | ||
bool | also_digi = true |
||
) |
Add noise from ANITA-3 flight to the time domain waveforms.
Rayleigh distribution parameters of ANITA-3 thermal noise are read in anita.cc This function generates random noise using amplitude of Rayleigh distributions. This can only work when FFTtools is also linked
anita1 | :: Anita - anita payload object |
pol | :: int - which polarization |
ant | :: int - which antennta |
also_digi | :: bool - also fill in digitizer |
TGraph* ChanTrigger::getPulserAtAMPA | ( | Anita * | anita1, |
int | ant | ||
) |
double ChanTrigger::getRate | ( | ) |
Returns the thisrate variable value (in MHz)
void ChanTrigger::GetThresholds | ( | Settings * | settings1, |
Anita * | anita1, | ||
int | ilayer, | ||
double | thresholds[2][5] | ||
) |
Sets the threshold values based on which payload and where the antenna is located physically.
The nadir antennas had a separate threshold from the other antennas due to the way that they were "OR"'d between their two neighbors.
void ChanTrigger::InitializeEachBand | ( | Anita * | anita1 | ) |
void ChanTrigger::injectImpulseAfterAntenna | ( | Anita * | anita1, |
int | ant | ||
) |
void ChanTrigger::injectImpulseAtSurf | ( | Anita * | anita1, |
double | volts_triggerPath_e[Anita::HALFNFOUR], | ||
double | volts_triggerPath_h[Anita::HALFNFOUR], | ||
int | ant | ||
) |
Inject pulse at the surf (used for trigger efficiency scans)
Pulser waveforms are read in anita.cc volts_triggerPath_e/h is substituded with pulser waveform + noise This can only work when FFTtools is also linked
anita1 | :: Anita - anita payload object |
ant | :: int - which antennta |
volts_triggerPath_e | :: double[NFOUR] - time domain waveform at surf |
volts_triggerPath_h | :: double[NFOUR] - time domain waveform at surf |
|
static |
Returns whether the indicated antenna and band are "masked".
Only works for Anita-1 and 2
surfTrigBandMask | :: unsigned short [9][2] - surf masks |
ibw | :: int - which band |
ilayer | :: int - layer number |
ifold | :: int - phi sector |
ipol | :: int - pol number |
void ChanTrigger::L1Trigger | ( | Anita * | anita1, |
double | timedomain_output_1[5][Anita::NFOUR], | ||
double | timedomain_output_2[5][Anita::NFOUR], | ||
double | powerthreshold[2][5], | ||
int * | channels_passing_e_forglob, | ||
int * | channels_passing_h_forglob, | ||
int & | npass | ||
) |
The L1 trigger of the Anita trigger scheme.
anita1 | :: Anita - anita payload object |
timedomain_output_1 | :: double [4][NFOUR] - time domain output for each band e |
timedomain_output_2 | :: double [4][NFOUR] - time domain output for each band h |
powerthreshold | :: double[2][5] - relative power thresholds for each pol and each band |
channels_passing_e_forglob | :: double* - array of channels passing the L1 trigger for e (used in the GlobalTrigger class) |
channels_passing_h_forglob | :: double* - array of channels passing the L1 trigger for h (used in the GlobalTrigger class) |
npass | :: &int - number of bands passing the L1 trigger |
double ChanTrigger::rateToThreshold | ( | double | rate, |
int | band | ||
) |
Calculates the trigger threshold for an antenna via a fit from the "singles" rate and band identifier.
This code is stolen from Stephen's AnitaHardwareTrigger in his Aesop software
rate | is the desired singles rate, in MHz. |
band | ranges from 0 to 3 |
void ChanTrigger::saveDigitizerWaveforms | ( | Anita * | anita1, |
double | sig0[48], | ||
double | sig1[48], | ||
double | noise0[48], | ||
double | noise1[48] | ||
) |
Save signal and noise waveforms at digitizer.
anita1 | :: Anita - anita payload object |
sig | :: double[2][NFOUR/2] - output |
noise | :: double[2][NFOUR/2] - output |
void ChanTrigger::saveTriggerWaveforms | ( | Anita * | anita1, |
double | sig0[48], | ||
double | sig1[48], | ||
double | noise0[48], | ||
double | noise1[48] | ||
) |
Save signal and noise waveforms at trigger.
anita1 | :: Anita - anita payload object |
sig | :: double[2][NFOUR/2] - output |
noise | :: double[2][NFOUR/2] - output |
void ChanTrigger::TimeShiftAndSignalFluct | ( | Settings * | settings1, |
Anita * | anita1, | ||
int | ilayer, | ||
int | ifold, | ||
double | volts_rx_rfcm_lab_e_all[48][512], | ||
double | volts_rx_rfcm_lab_h_all[48][512] | ||
) |
Time shift and fluctuate signal.
Apply time delays to each channel and add thermal noise
settings1 | :: Settings - the simulation settings |
anita1 | :: Anita - anita object |
ilayer | :: int - payload layer |
ifold | :: int - payload phi sector |
volts_rx_rfcm_lab_e_all | :: double [48][512] - time domain waveform for each channel (VPOL) |
volts_rx_rfcm_lab_h_all | :: double [48][512] - time domain waveform for each channel (HPOL) |
void ChanTrigger::WhichBandsPass | ( | Settings * | settings1, |
Anita * | anita1, | ||
GlobalTrigger * | globaltrig1, | ||
Balloon * | bn1, | ||
int | ilayer, | ||
int | ifold, | ||
double | dangle, | ||
double | emfrac, | ||
double | hadfrac, | ||
double | thresholds[2][5] | ||
) |
Which bands passes the trigger.
settings1 | :: Settings - simulation settings |
anita1 | :: Anita - anita object |
globaltrig1 | :: GlobalTrigger - global trigger object |
bn1 | :: Balloon - balloon object |
ilayer | :: int - layer number |
ifold | :: int - phi sector |
dangle | :: int - |
emfrac | :: double - electromagnetic fraction of the shower |
hadfrac | :: double - hadronic fraction of the shower |
thresholds | :: double [2][5] - relative power thresholds for each pol and band |
void ChanTrigger::WhichBandsPassTrigger1 | ( | Settings * | settings1, |
Anita * | anita1, | ||
GlobalTrigger * | globaltrig1, | ||
Balloon * | bn1, | ||
int | ilayer, | ||
int | ifold, | ||
double | thresholds[2][5] | ||
) |
Which bands passes the trigger (for trigger scheme 0 and 1)
settings1 | :: Settings - simulation settings |
anita1 | :: Anita - anita object |
globaltrig1 | :: GlobalTrigger - global trigger object |
bn1 | :: Balloon - balloon object |
ilayer | :: int - layer number |
ifold | :: int - phi sector |
thresholds | :: double [2][5] - relative power thresholds for each pol and band |
void ChanTrigger::WhichBandsPassTrigger2 | ( | Settings * | settings1, |
Anita * | anita1, | ||
GlobalTrigger * | globaltrig1, | ||
Balloon * | bn1, | ||
int | ilayer, | ||
int | ifold, | ||
double | dangle, | ||
double | emfrac, | ||
double | hadfrac, | ||
double | thresholds[2][5] | ||
) |
Which bands passes the trigger (for trigger scheme larger than 2)
settings1 | :: Settings - simulation settings |
anita1 | :: Anita - anita object |
globaltrig1 | :: GlobalTrigger - global trigger object |
bn1 | :: Balloon - balloon object |
ilayer | :: int - layer number |
ifold | :: int - phi sector |
dangle | :: int - |
emfrac | :: double - electromagnetic fraction of the shower |
hadfrac | :: double - hadronic fraction of the shower |
thresholds | :: double [2][5] - relative power thresholds for each pol and band |
double ChanTrigger::bwslice_energy_pol0[5] |
Square the sum of voltage for each slice in bandwidth for the 0th polarization.
double ChanTrigger::bwslice_energy_pol1[5] |
Square the sum of voltage for each slice in bandwidth for the 1st polarization.
double ChanTrigger::bwslice_energy_pole[5] |
Square the sum of voltage for each slice in bandwidth for e polarization. The 5th element is the full band.
double ChanTrigger::bwslice_energy_polh[5] |
Square the sum of voltage for each slice in bandwidth for h polarization. The 5th element is the full band.
double ChanTrigger::bwslice_volts_pol0[5] |
Sum voltage for each slice in bandwidth for the lcp polarization.
double ChanTrigger::bwslice_volts_pol0_em[5] |
Component of the voltage that comes from the em shower for 0th polarization.
double ChanTrigger::bwslice_volts_pol1[5] |
Sum voltage for each slice in bandwidth for the rcp polarization.
double ChanTrigger::bwslice_volts_pol1_em[5] |
Component of the voltage that comes from the em shower for 1st polarization.
double ChanTrigger::bwslice_volts_pole[5] |
Sum voltage for each slice in bandwidth for the e polarization.
double ChanTrigger::bwslice_volts_polh[5] |
Sum voltage for each slice in bandwidth for the h polarization.
double ChanTrigger::cw_digPath[2][Anita::HALFNFOUR] |
For digitizer path, time domain cw.
|
private |
E comp along polarization.
|
private |
component of e-field along the rx e-plane
vector<int> ChanTrigger::flag_e[5] |
Which bands pass trigger e.
vector<int> ChanTrigger::flag_h[5] |
Which bands pass trigger h.
|
private |
H comp along polarization.
|
private |
component of the e-field along the rx h-plane
|
staticprivate |
Half of the number of points in the Fourier space.
|
private |
angle the ray hits the antenna wrt e-plane
|
private |
angle the ray hits the antenna wrt h-plane
double ChanTrigger::integral_vmmhz |
Electric field integral.
double ChanTrigger::justNoise_digPath[2][Anita::HALFNFOUR] |
For digitizer path, time domain noise from flight.
double ChanTrigger::justNoise_trigPath[2][Anita::HALFNFOUR] |
For trigger path, time domain noise from flight.
double ChanTrigger::justSig_digPath[2][Anita::HALFNFOUR] |
Just signal in trigger path.
double ChanTrigger::justSig_trigPath[2][Anita::HALFNFOUR] |
Just signal in trigger path.
|
private |
normal comp along polarization
|
private |
component of the e-field along the normal
|
staticprivate |
Number of channells on each surf.
|
staticprivate |
Number of points in Fourier space.
double ChanTrigger::noise_eachband[2][Anita::NBANDS_MAX] |
Noise in each band.
|
staticprivate |
Max number of points from surf measurements.
|
staticprivate |
Number of surfs.
|
staticprivate |
Number of surfs minus on1.
|
staticprivate |
Number of surfs plus one.
int ChanTrigger::passes_eachband[2][Anita::NBANDS_MAX] |
Whether the signal passes or not each band.
double ChanTrigger::signal_eachband[2][Anita::NBANDS_MAX] |
Signal in each band.
|
private |
Relative power threshold.
|
private |
Rate in MHz.
double ChanTrigger::threshold_eachband[2][Anita::NBANDS_MAX] |
Threshold in each band.
int ChanTrigger::unwarned |
Whether we have warned the user about resetting thresholds when they are beyond the measured bounds.
double ChanTrigger::v_banding_rfcm[2][5][Anita::NFREQ] |
This is Volts/m as a function of frequency after rfcm's and banding.
double ChanTrigger::v_banding_rfcm_forfft[2][5][HALFNFOUR] |
Starts out as V/s vs. freq after banding, rfcm, after fft it is V vs. t.
double ChanTrigger::v_banding_rfcm_forfft_temp[2][5][HALFNFOUR] |
Use for the averaging over 10 neighboring bins.
double ChanTrigger::vhz_rx[2][5][Anita::NFREQ] |
Array of amplitudes in the Fourier domain (V/Hz) after the antenna gain. Indeces stand for [ipol][iband][ifreq].
double ChanTrigger::vm_banding_rfcm_forfft[2][5][HALFNFOUR] |
Tunnel diode input (signal + noise)
double ChanTrigger::vm_banding_rfcm_forfft_justNoise[2][5][HALFNFOUR] |
Tunnel diode input (just noise)
vector<double> ChanTrigger::vnoise_eachband[2] |
Noise in each band.
double ChanTrigger::volts_rx_forfft[2][5][Anita::HALFNFOUR] |
Array of time domain after the antenna gain. Indeces stand for [ipol][iband][itime].
double ChanTrigger::volts_rx_rfcm[2][Anita::HALFNFOUR] |
For digitizer path, time domain voltage vs. time after rx, rfcm's.
double ChanTrigger::volts_rx_rfcm_lab[2][Anita::HALFNFOUR] |
For digitizer path, time domain voltage vs. time after rx, rfcm's and lab.
double ChanTrigger::volts_rx_rfcm_lab_all[2][48][Anita::HALFNFOUR] |
For digitizer path, time domain voltage vs. time after rx, rfcm's and lab.
vector<int> ChanTrigger::vpasses_eachband[2] |
Whether the signal passes or not each band.
vector<double> ChanTrigger::vsignal_eachband[2] |
Signal in each band.
vector<double> ChanTrigger::vthreshold_eachband[2] |
Threshold in each band.