Taumodel.hh
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;
74  double weight_nu_prob;
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 weight_tau_prob
Weight for tau neutrino to interact, create a tau, tau survives and decays in the ice...
Definition: Taumodel.hh:72
Reads in and stores input settings for the run.
Definition: Settings.h:35
Functions you need to generate a primary interaction including cross sections and picking charged cur...
Definition: Primaries.h:83
Taumodel()
Definition: Taumodel.cc:50
Stores everything about a particular neutrino interaction. Interaction.
Definition: Primaries.h:136
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
This class represents a three-vector. Operators are overloaded to provide for the familiar operations...
Definition: vector.hh:27
double ptauf
Final energy of the tau.
Definition: Taumodel.hh:71
Ice thicknesses and water depth.
Definition: icemodel.hh:88