00001 00006 #ifndef MUONPROPAGATOR_HH 00007 #define MUONPROPAGATOR_HH 00008 #include <math.h> 00009 #include <iostream.h> 00010 #include "ReactorConstants.hh" 00011 00014 class MuonPropagator{ 00015 00016 public: 00017 00020 MuonPropagator(int newRmaxgen=k.Rmaxgen, 00021 double newDepth=450); 00023 ~MuonPropagator(); 00025 MuonPropagator(const MuonPropagator& Muon); 00027 MuonPropagator& operator=(const MuonPropagator& rhs); 00028 00029 double* Intersection(double, double, double, 00030 double, double, double, 00031 double, double, double, double); 00032 double* Rotate(char, double, double, double, double); 00033 double RadCorr(double,double); 00034 00035 double GetMuonE() const {return energy;} 00036 double GetMuonCosTheta() const {return cosg;} 00037 double GetMuonPhi() const {return phig;} 00038 00044 static float IsotopeDistance(const float& r); 00045 00047 int GetNumNeutron() const {return Nneutron;} 00048 00049 double GetNeutronKE(int& n) const {return Eneutron[n];} 00050 double GetNeutronTime(int& n) const {return Tneutron[n];} 00051 double* const GetNeutronVertexXYZ() {return Rneutron;} 00052 00054 int GetNumElectron() const {return Nelectron;} 00055 00056 double GetElectronKE(int& n) const {return Eelectron[n];} 00057 double GetElectronTime(int& n) const {return Telectron[n];} 00058 double* const GetElectronVertexXYZ() {return Relectron;} 00059 00061 int GetNumGamma() const {return Ngamma;} 00062 00063 double GetGammaKE(int& n) const {return Egamma[n];} 00064 double GetGammaTime(int& n) const {return Tgamma[n];} 00065 double* const GetGammaVertexXYZ() {return Rgamma;} 00066 00067 double GetWeight() const {return Weight;} 00068 00069 private: 00070 00071 static ReactorConstants k; 00072 double Rmaxgen; 00073 double Depth; 00074 00075 static const int Mdim = 26799; 00076 int Nmuon; 00077 double energy, cosg, phig; 00078 00079 int Nneutron, Nelectron, Ngamma; 00080 00081 double* Eneutron; 00082 double* Eelectron; 00083 double* Egamma; 00084 double* Rneutron; 00085 double* Relectron; 00086 double* Rgamma; 00087 double* Tneutron; 00088 double* Telectron; 00089 double* Tgamma; 00090 00091 double Weight; 00092 }; 00093 #endif