icemc
 All Classes Namespaces Files Functions Variables Friends Macros Pages
counting.hh
Go to the documentation of this file.
1 
2 //class Counting:
4 
5 class Vector;
7 class Counting {
8 public:
9 
10  Counting();
11  void initializeEachRun();
12 
13  int npass[2]; // count events that pass
14  int npassestrigger[2]; // incremented if passes trigger
15  int nchanceinhell2[2]; // based on direction of ray and thickness in Cerenkov cone,
16  // signal has a chance to pass after accounting for
17  // angle, ice attenuation and 1/r
18  int nviewanglecut[2];
19  int nchanceinhell[2]; // based on depth,
20  // signal has a chance to pass after accounting for ice attenuation and 1/r
21  int nchanceinhell_1overr[2]; // after 1/r
22 // signal has chance of passing
23  int nchanceinhell_fresnel[2]; // after fresnel coefficients
24  // signal has chance of passing
25 
26  int nconverges[2]; // ray tracing converges to within 10m at ice surface
27 
28  int nacceptablerf[2]; // ray leaves where there is ice, and not where there is water
29  int nraywithincontinent1[2]; // reality check: exiting ray is within 30 degrees of south pole
30  int nraywithincontinent2[2]; // same, after next iteration.
31  int nraypointsup1[2]; // ray from exit point to balloon does not intersect earth
32  int nnottoosmall[2]; // based on neutrino position,
33  int nraypointsup2[2]; // same, after next iteration to get refracted ray.
34  int nviewangle_lt_90[2]; // viewing angle lt 90
35  int ngoodfracs[2]; // for debugging
36  int nbadfracs[2]; // for debugging
37  int nnottir[2]; // not totally internally reflected
38  int nentersice[2]; // Reality check: place where neutrino enters ice (from below) within 30 deg of south pole
39  int nabsorbed[2]; // Event has more than 0.001 probability of surviving trip through earth
40  int noway[2]; // no way the event will see any ice give its earth entrance point and its direction
41  int wheredoesitleave_err[2]; // wheredoesitleave gives error
42  int neverseesice[2]; // determined that the neutrino path never sees ice
43  int iceinteraction[2]; // there is an interaction in the ice
44  int inhorizon[2]; // there is an interaction in the ice
45  int wheredoesitenterice_err[2]; // there is an interaction in the ice
46  int toohigh[2]; // there is an interaction in the ice
47  int toolow[2]; // there is an interaction in the ice
48 
49 
50 // variables for counting neutrinos and reporting results.
51  int nnu_e; //counting the number of e,mu,tau neutrinos
52  int nnu_mu;
53  int nnu_tau;
54 
55  static constexpr int NCOSTHETA=180;
56  static constexpr int NPHI=180;
57  static constexpr double COSTHETAMAX=1.;
58  static constexpr double COSTHETAMIN=0.;
59  static constexpr double PHIMAX=2*3.14159;
60  static constexpr double PHIMIN=0.;
62 
63  void findCosthetaPhiBins(Position r_in,int &icostheta,int &iphi);
64  void IncrementWeights_r_in(Position r_in,double weight) ;
65 
66 protected:
67 
68 };
69