#include <G4KokoulinMuonNuclearXS.hh>
 | 
|   | G4KokoulinMuonNuclearXS () | 
|   | 
| virtual  | ~G4KokoulinMuonNuclearXS () | 
|   | 
| virtual void  | CrossSectionDescription (std::ostream &) const  | 
|   | 
| G4bool  | IsElementApplicable (const G4DynamicParticle *particle, G4int Z, const G4Material *) | 
|   | 
| G4double  | GetElementCrossSection (const G4DynamicParticle *particle, G4int Z, const G4Material *) | 
|   | 
| void  | BuildPhysicsTable (const G4ParticleDefinition &) | 
|   | 
| void  | BuildCrossSectionTable () | 
|   | 
| G4double  | ComputeDDMicroscopicCrossSection (G4double incidentKE, G4double Z, G4double A, G4double epsilon) | 
|   | 
|   | G4VCrossSectionDataSet (const G4String &nam="") | 
|   | 
| virtual  | ~G4VCrossSectionDataSet () | 
|   | 
| virtual G4bool  | IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=0, const G4Material *mat=0) | 
|   | 
| G4double  | GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) | 
|   | 
| G4double  | ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) | 
|   | 
| virtual G4double  | GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0) | 
|   | 
| virtual G4Isotope *  | SelectIsotope (const G4Element *, G4double kinEnergy) | 
|   | 
| virtual void  | DumpPhysicsTable (const G4ParticleDefinition &) | 
|   | 
| virtual G4int  | GetVerboseLevel () const  | 
|   | 
| virtual void  | SetVerboseLevel (G4int value) | 
|   | 
| G4double  | GetMinKinEnergy () const  | 
|   | 
| void  | SetMinKinEnergy (G4double value) | 
|   | 
| G4double  | GetMaxKinEnergy () const  | 
|   | 
| void  | SetMaxKinEnergy (G4double value) | 
|   | 
| const G4String &  | GetName () const  | 
|   | 
Definition at line 53 of file G4KokoulinMuonNuclearXS.hh.
 
      
        
          | G4KokoulinMuonNuclearXS::G4KokoulinMuonNuclearXS  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 59 of file G4KokoulinMuonNuclearXS.cc.
   61   LowestKineticEnergy(1*
GeV), HighestKineticEnergy(1*
PeV),
 
   62   TotBin(60), CutFixed(0.2*
GeV), isInitialized(
false), isMaster(
false)
 
G4VCrossSectionDataSet(const G4String &nam="")
 
static const char * Default_Name()
 
static constexpr double PeV
 
static constexpr double GeV
 
 
 
 
  
  
      
        
          | G4KokoulinMuonNuclearXS::~G4KokoulinMuonNuclearXS  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
virtual   | 
  
 
 
      
        
          | void G4KokoulinMuonNuclearXS::BuildCrossSectionTable  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 108 of file G4KokoulinMuonNuclearXS.cc.
  117   for (
G4int j = 0; j < nEl; j++) {
 
  118     Z = 
G4lrint((*theElementTable)[j]->GetZ());
 
  120     if(Z < 
MAXZMUN && !theCrossSection[Z]) {
 
  122                           HighestKineticEnergy, 
 
  124       for (
G4int i = 0; i <= TotBin; ++i) {
 
  125     energy = theCrossSection[
Z]->
Energy(i);
 
  126     Value = ComputeMicroscopicCrossSection(energy, A);
 
static G4NistManager * Instance()
 
double A(double temperature)
 
static size_t GetNumberOfElements()
 
void PutValue(size_t index, G4double theValue)
 
G4double Energy(size_t index) const 
 
G4double energy(const ThreeVector &p, const G4double m)
 
G4double GetAtomicMassAmu(const G4String &symb) const 
 
std::vector< G4Element * > G4ElementTable
 
static G4ElementTable * GetElementTable()
 
 
 
 
Definition at line 179 of file G4KokoulinMuonNuclearXS.cc.
  191   G4double TotalEnergy = KineticEnergy + ParticleMass;
 
  196       (
epsilon <= CutFixed) ) { 
return DCrossSection; }
 
  205   G4double mass2 = ParticleMass*ParticleMass;
 
  207   G4double up = TotalEnergy*TotalEnergy*v1/mass2*(1.+mass2*v2/(alam2*v1));
 
  210   DCrossSection = coeffn*aeff*sigph/
epsilon*
 
  211                   (-v1+(v1+0.5*v2*(1.+2.*mass2/alam2))*
G4Log(up/down));
 
  213   if (DCrossSection < 0.) { DCrossSection = 0.; }
 
  214   return DCrossSection;
 
double A(double temperature)
 
G4double G4Log(G4double x)
 
G4double G4Exp(G4double initial_x)
Exponential Function double precision. 
 
G4double GetPDGMass() const 
 
static constexpr double GeV
 
static G4MuonMinus * MuonMinus()
 
static constexpr double pi
 
double epsilon(double density, double temperature)
 
static constexpr double microbarn
 
 
 
 
  
  
      
        
          | void G4KokoulinMuonNuclearXS::CrossSectionDescription  | 
          ( | 
          std::ostream &  | 
          outFile | ) | 
           const | 
         
       
   | 
  
virtual   | 
  
 
Reimplemented from G4VCrossSectionDataSet.
Definition at line 77 of file G4KokoulinMuonNuclearXS.cc.
   79     outFile << 
"G4KokoulinMuonNuclearXS provides the total inelastic\n" 
   80     << 
"cross section for mu- and mu+ interactions with nuclei.\n" 
   81     << 
"R. Kokoulin's approximation of the Borog and Petrukhin double\n" 
   82     << 
"differential cross section at high energy and low Q**2 is integrated\n" 
   83     << 
"over the muon energy loss to get the total cross section as a\n" 
   84     << 
"function of muon kinetic energy\n" ;
 
 
 
 
  
  
      
        
          | static const char* G4KokoulinMuonNuclearXS::Default_Name  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
 
The documentation for this class was generated from the following files: