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