19 #include "position.hh" 57 double pickYConnollyetal2011(
int NU,
int CURRENT,
double e);
61 static constexpr
double ymin_low = 0.00002;
62 constexpr
static double ymax_low=0.001;
63 constexpr
static double ymin_high=0.001;
64 constexpr
static double ymax_high=1.;
65 constexpr
static double dy_low=0.00002;
66 constexpr
static double dy_high=0.001;
68 double pickYGandhietal();
71 constexpr
static double R1=0.36787944;
72 constexpr
static double R2=0.63212056;
77 double pickY(
Settings *settings1,
double pnu,
int nu_nubar,
int currentint);
78 double Getyweight(
double pnu,
double y,
int nu_nubar,
int currentint);
94 double pickY(
Settings *settings1,
double pnu,
int nu_nubar,
int currentint);
95 double Getyweight(
double pnu,
double y,
int nu_nubar,
int currentint);
126 int GetSigma(
double pnu,
double& sigma,
double &len_int_kgm2,
Settings *settings1,
int nu_nubar,
int currentint);
147 static constexpr
double nu_banana_theta_angle=-0.413 * 3.14159/180.;
150 static constexpr
double altitude_nu_banana=-400.;
153 static constexpr
double lat_nu_banana=0.;
154 static constexpr
double lon_nu_banana=0.;
157 static constexpr
double banana_slopey=0.;
158 static constexpr
double nu_banana_phi_angle=0. * 3.14159/180.;
169 static constexpr
int kcc=0;
170 static constexpr
int knc=1;
172 double banana_phi_obs;
179 int wheredoesitleave_err;
181 int wheredoesitenterice_err;
185 double pathlength_inice;
207 static constexpr
double pnu_banana=2.00E19;
210 double banana_theta_obs;
227 double surface_over_banana_nu;
double weight_bestcase
what weight1 would be if whole earth had density of crust - for quick and dirty calculation of best c...
double c4[2][2]
Table V of Connolly et al. for Eq. 7.
int currentint
Ditto - Stephen.
double r_fromballoon[2]
distance from interaction to balloon for each ray
double c2[2][2]
Table V of Connolly et al. for Eq. 7.
double chord_kgm2_ice
from ice entrance to interaction point
double A_low[4]
Table V of Connolly et al. for use in Eq. 16. Same for any nu_nubar and current type.
static constexpr double phi_nu_banana
Location in phi.
int GetSigma(double pnu, double &sigma, double &len_int_kgm2, Settings *settings1, int nu_nubar, int currentint)
Neutrino-nucleon cross-sections using model chosen.
Vector nnu_banana
Forced neutrino direction.
Position nu_banana_surface
The location of the surface above the forced neutrino interaction point.
double A0_high[2][2]
Table V of Connolly et al. for use in Eq. 16.
double chord
chord in m from earth entrance to rock-ice boundary
double r_exit2bn
exit to balloon
double dnutries
product of dtryingdirection and dtryingposition
double dtryingdirection
weighting factor: how many equivalent tries each neutrino counts for after having reduced angular pha...
double costheta_nutraject
theta of nnu with earth center to balloon as z axis
double weight_nu
Weight for neutrino that survives to posnu.
string GetCurrent()
choose CC or NC: get from ratios in Ghandi etal paper, updated for the CTEQ6-DIS parton distribution ...
static constexpr double banana_sigma
NSIGMA in the case of a banana plot.
~Primaries()
*primary1 must be manually deleted in icemc for deconstructor to actually be called.
Reads in and stores input settings for the run.
static constexpr double banana_observation_distance
How far from the surface above the interaction are we when we measure the voltages? (meters) Note: Should be at least 100000 for best results.
double b1
Eq. 17 of Connolly et al.
double mine[NSIGMAS]
minimum energy for cross section parametrizations, in eV
Functions you need to generate a primary interaction including cross sections and picking charged cur...
This class is a 3-vector that represents a position on the Earth's surface.
double logchord
log_10 of chord length earth entrance to where it enters ice
Stores everything about a particular neutrino interaction. Interaction.
double pickY(Settings *settings1, double pnu, int nu_nubar, int currentint)
pick inelasticity y according to chosen model
double b0
Eq. 17 of Connolly et al.
double c3[2][2]
Table V of Connolly et al. for Eq. 7.
double altitude_int_mirror
depth of the mirror point of interaction.
double r_exit2bn_measured
exit to balloon deduced from measured theta
double Getyweight(double pnu, double y, int nu_nubar, int currentint)
in case you choose y from a flat distribution, this is the weight you should give it according to Con...
string banana_flavor
Force interaction to be a muon neutrino.
int nuflavorint
Added by Stephen for output purposes.
Position r_in
position where neutrino enters the earth
double phi_nutraject
phi of nnu with earth center to balloon as z axis
Inelasticity distributions: stores parametrizations and picks inelasticities.
double altitude_int
depth of interaction
double weight_nu_prob
Weight for neutrino that survives to posnu and interacts in the ice.
void PickAnyDirection()
Constructor.
double banana_volts
Total voltage measured at a spot on the sky.
double pickY(Settings *settings1, double pnu, int nu_nubar, int currentint)
pick inelasticity y according to chosen model
double chord_kgm2_bestcase
the chord the neutrino would traverse if it all was crust density
static constexpr double banana_y
Elasticity. 0.2 is an average number.
int iceinteraction
whether or not there is an interaction in the ice
string banana_current
Force interaction to be a neutral current.
string nuflavor
neutrino flavor
double c1[2][2]
Table V of Connolly et al. for Eq. 7.
static constexpr double theta_nu_banana
Location of banana neutrino in theta.
Position nuexitice
place where neutrino would have left the ice
Position nuexit
place where neutrino would have left the earth
This class represents a three-vector. Operators are overloaded to provide for the familiar operations...
double A3_high[2][2]
Table V of Connolly et al. for use in Eq. 16.
Position nu_banana
The forced interaction point of the neutrino for the banana plots.
string GetNuFlavor()
pick a neutrino type, flavor ratio 1:1:1
static constexpr int NSIGMAS
double maxe[NSIGMAS]
minimum energy for cross section parametrizations, in eV
Handles event counting as cuts are made.
double d2
ice-rock boundary to interaction point in m
Vector banana_obs
Vector from the neutrino interaction to the observation point.
double Getyweight(double pnu, double y, int nu_nubar, int currentint)
If you want to choose y from a flat distribution this is the weight it should have according to Conno...
double A1_high[2][2]
Table V of Connolly et al. for use in Eq. 16.
double r_fromballoon_db
same, for double bangs
Position r_enterice
position where neutrino enters the ice
double c0[2][2]
Table V of Connolly et al. for Eq. 7.
double d1
same as chord in m (earth entrance to rock-ice boundary)
double A2_high[2][2]
Table V of Connolly et al. for use in Eq. 16.
static constexpr double banana_signal_fluct
Turn off noise for banana plots (settings1->SIGNAL_FLUCT) (shouldn't matter)
double banana_weight
Weight measurement locations to account for phase space.
Ice thicknesses and water depth.
double d_effective_area
In unbaised mode, projection of surface onto nnu.
Vector nnu
direction of neutrino (+z in south pole direction)