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 
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

Generated on Mon Dec 27 11:10:13 2004 for ReactorFsim by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002