icemc
Taumodel.hh
Go to the documentation of this file.
1 #ifndef TAU_MODEL_H
2 #define TAU_MODEL_H
3 //class Taumodel:
6 #include <algorithm>
7 #include <numeric>
8 #include <iostream>
9 #include <string>
10 #include <sstream>
11 #include <fstream>
12 #include <iomanip>
13 #include <vector>
14 #ifndef __CINT__
15 #include "Primaries.h"
16 #include "Settings.h"
17 #endif
18 class TH1F;
19 class Vector;
20 class Settings;
21 class Primaries;
22 class Interaction;
23 class IceModel;
24 
25 using std::vector;
26 using std::ifstream;
27 using std::string;
28 
29 class Taumodel: public TObject
30 {
31 
32 private: //stuff other programs arent allowed to touch
33 
39  double B0,B1,E0;
40  double mT;
42  double cT;
43  // double p;/*!<Density of Standard Rock. g/cm^3> */
44 
46  //p, the Density of Standard Rock. g/cm^3
47  double A;
48  double Mn;
50  vector<double> mydensityvector;
52  vector<double> myavgdensityvector;
54  vector<double> myenergyvector;
55  vector<double> myPsurvvector;
56  vector<double> etaufarray;
57  vector<double> PDFarray;
61  void GetDensityVectors(IceModel *antarctica1, Interaction *interaction1, Vector nchord, double step, double Distance, int &totalnusteps, int &crust_entered);
64  void GetEnergyVector(double Etau_final, double step,int totalnusteps, int &totalsteps, double &totaltaudistance, double pnu);
65 
68  void GetTauSurvVector(double step, int totalsteps);
69 public:
70  Taumodel();
71  double ptauf;
72  double weight_tau_prob;
73  int inu;
75 
79  double GetTauWeight(Primaries *primary1, Settings *settings1, IceModel*antarctica1, Interaction *interaction1, double pnu, int nu_nubar, double& ptauf, int& crust_entered); // 1 or 0
80  // int& mantle_entered, // 1 or 0
81  // int& core_entered);//include secondaries?
82 
83  ClassDef(Taumodel,1);
84 }; //class Taumodel
85 
86 
87 #endif
double pnu
energy of neutrinos
Definition: icemc.cc:181
double Mn
Definition: Taumodel.hh:48
double weight_tau_prob
Weight for tau neutrino to interact, create a tau, tau survives and decays in the ice...
Definition: Taumodel.hh:72
void GetDensityVectors(IceModel *antarctica1, Interaction *interaction1, Vector nchord, double step, double Distance, int &totalnusteps, int &crust_entered)
Get Density Vectors sets two density vectors. One has the density at each step along the path...
Definition: Taumodel.cc:261
Definition: Taumodel.hh:29
This class represents a three-vector. Operators are overloaded to provide for the familiar operations...
Definition: vector.hh:27
ClassDef(Taumodel, 1)
double ptauf
Final energy of the tau.
Definition: Taumodel.hh:71
int crust_entered
Definition: icemc.cc:393
vector< double > etaufarray
Definition: Taumodel.hh:56
vector< double > myenergyvector
Definition: Taumodel.hh:54
double A
Used in Connolly Calc 2011.(d_dzPsurvNu())
Definition: Taumodel.hh:47
vector< double > myavgdensityvector
Definition: Taumodel.hh:52
double E0
Definition: Taumodel.hh:39
Ice thicknesses and water depth.
Definition: icemodel.hh:88
Taumodel()
Definition: Taumodel.cc:50
double cT
Definition: Taumodel.hh:42
double weight_nu_prob
Definition: Taumodel.hh:74
Functions you need to generate a primary interaction including cross sections and picking charged cur...
Definition: Primaries.h:83
int inu
Definition: Taumodel.hh:73
double GetTauWeight(Primaries *primary1, Settings *settings1, IceModel *antarctica1, Interaction *interaction1, double pnu, int nu_nubar, double &ptauf, int &crust_entered)
GetTauWeight is the function that will calculate the probability that a tau neutrino will interact al...
Definition: Taumodel.cc:82
double B0
Definition: Taumodel.hh:39
double mT
for B, the tau elecromagnetic energy loss parameter.
Definition: Taumodel.hh:41
Reads in and stores input settings for the run.
Definition: Settings.h:35
vector< double > mydensityvector
Definition: Taumodel.hh:50
vector< double > PDFarray
Definition: Taumodel.hh:57
double B1
Definition: Taumodel.hh:39
vector< double > myPsurvvector
Definition: Taumodel.hh:55
Stores everything about a particular neutrino interaction. Interaction.
Definition: Primaries.h:136
void GetTauSurvVector(double step, int totalsteps)
Get Tau Surv Vector gets a vector that is filled with the probability the tau will survive from neutr...
Definition: Taumodel.cc:328
void GetEnergyVector(double Etau_final, double step, int totalnusteps, int &totalsteps, double &totaltaudistance, double pnu)
Get Energy Vector sets the energy of tau particle at every step along the path. It starts from the fi...
Definition: Taumodel.cc:295