Main Page   Compound List   File List   Compound Members   File Members  

MuonPropagator.hh

00001 
00006 #ifndef MUONPROPAGATOR_HH
00007 #define MUONPROPAGATOR_HH
00008 #include <math.h>
00009 #include <iostream.h>
00010 #include "ReactorConstants.hh"
00011 
00017 class MuonPropagator{
00018 
00019 public:
00020 
00032   MuonPropagator(double newRmaxgen=RMAXGEN,
00033                  double newDepth=450.,
00034                  double newEnergy=0.,
00035                  double newCosTheta=1.);
00036 
00037   MuonPropagator(int test=0, double newRmaxgen=RMAXGEN,double newEnergy=0.,
00038                  double newX=0.,double newY=0.,double newZ=0.,
00039                  double newVx=0.,double newVy=0.,double newVz=0.);
00041   ~MuonPropagator();
00043   MuonPropagator(const MuonPropagator& Muon);
00045   MuonPropagator& operator=(const MuonPropagator& rhs);
00046 
00047   double* Intersection(double, double, double,
00048                        double, double, double,
00049                        double, double, double, double);
00050   double* Rotate(char, double, double, double, double);
00051   double RadCorr(double,double);
00052 
00053   double GetMuonE() const {return energy;}
00054   double GetMuonCosTheta() const {return cosg;}
00055   double GetMuonPhi() const {return phig;}
00056 
00062   static float IsotopeDistance(const float& r);
00063 
00065   int GetNumNeutron() const {return Nneutron;}
00066 
00067   double GetNeutronKE(int& n) const {return Eneutron[n];}
00068   double GetNeutronTime(int& n) const {return Tneutron[n];}
00069   double* const GetNeutronVertexXYZ() {return Rneutron;}
00070 
00072   int GetNumElectron() const {return Nelectron;}
00073 
00074   double GetElectronKE(int& n) const {return Eelectron[n];}
00075   double GetElectronTime(int& n) const {return Telectron[n];}
00076   double* const GetElectronVertexXYZ() {return Relectron;}
00077 
00079   int GetNumGamma() const {return Ngamma;}
00080 
00081   double GetGammaKE(int& n) const {return Egamma[n];}
00082   double GetGammaTime(int& n) const {return Tgamma[n];}
00083   double* const GetGammaVertexXYZ() {return Rgamma;}
00084 
00085   double GetWeight() const {return Weight;}
00086 
00087 private:
00088 
00089   double Rmaxgen;
00090   double Depth;
00091 
00092   int Nmuon;
00093   double energy, cosg, phig;
00094 
00095   int Nneutron, Nelectron, Ngamma;
00096 
00097   double* Eneutron;
00098   double* Eelectron;
00099   double* Egamma;
00100   double* Rneutron;
00101   double* Relectron;
00102   double* Rgamma;
00103   double* Tneutron;
00104   double* Telectron;
00105   double* Tgamma;
00106 
00107   double Weight;
00108 };
00109 #endif

Generated on Mon Feb 21 16:11:18 2005 for ReactorFsim by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002