Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4CascadeNPChannel Class Reference

#include <G4CascadeNPChannel.hh>

+ Inheritance diagram for G4CascadeNPChannel:

Public Member Functions

 G4CascadeNPChannel ()
 
virtual ~G4CascadeNPChannel ()
 
virtual G4double findCrossSection (G4double ke, const G4double(&xsec)[30]) const
 
- Public Member Functions inherited from G4CascadeFunctions< G4CascadeNPChannelData, G4PionNucSampler >
 G4CascadeFunctions ()
 
virtual ~G4CascadeFunctions ()
 
virtual G4double getCrossSection (double ke) const
 
virtual G4double getCrossSectionSum (double ke) const
 
virtual G4int getMultiplicity (G4double ke) const
 
virtual void getOutgoingParticleTypes (std::vector< G4int > &kinds, G4int mult, G4double ke) const
 
virtual void printTable (std::ostream &os=G4cout) const
 
- Public Member Functions inherited from G4CascadeChannel
 G4CascadeChannel ()
 
virtual ~G4CascadeChannel ()
 
virtual G4double getCrossSection (double ke) const =0
 
virtual G4double getCrossSectionSum (double ke) const =0
 
virtual G4int getMultiplicity (G4double ke) const =0
 
virtual void getOutgoingParticleTypes (std::vector< G4int > &kinds, G4int mult, G4double ke) const =0
 
virtual void printTable (std::ostream &os=G4cout) const =0
 
- Public Member Functions inherited from G4PionNucSampler
 G4PionNucSampler ()
 
- Public Member Functions inherited from G4CascadeSampler< 30, 8 >
 G4CascadeSampler (const G4double(&ebins)[energyBins])
 
virtual ~G4CascadeSampler ()
 
virtual G4double findCrossSection (G4double ke, const G4double(&xsec)[energyBins]) const
 
virtual G4int findMultiplicity (G4double ke, const G4double xmult[][energyBins]) const
 
virtual G4int findFinalStateIndex (G4int mult, G4double ke, const G4int index[], const G4double xsec[][energyBins]) const
 
virtual void print (std::ostream &os) const
 

Additional Inherited Members

- Public Types inherited from G4CascadeSampler< 30, 8 >
enum  
 

Detailed Description

Definition at line 41 of file G4CascadeNPChannel.hh.

Constructor & Destructor Documentation

◆ G4CascadeNPChannel()

G4CascadeNPChannel::G4CascadeNPChannel ( )
inline

◆ ~G4CascadeNPChannel()

virtual G4CascadeNPChannel::~G4CascadeNPChannel ( )
inlinevirtual

Definition at line 46 of file G4CascadeNPChannel.hh.

46{;}

Member Function Documentation

◆ findCrossSection()

G4double G4CascadeNPChannel::findCrossSection ( G4double  ke,
const G4double(&)  xsec[30] 
) const
virtual

Definition at line 2080 of file G4CascadeNPChannel.cc.

2081 {
2082 if (ke < 0.01 &&
2083 (std::equal(std::cbegin(xsec), std::cend(xsec), std::cbegin(npTotXSec))
2084 || std::equal(std::cbegin(xsec), std::cend(xsec), std::cbegin(npCrossSections[0]))))
2085 {
2086 // Stepanov's function for ke < 10 MeV, up to zero-energy value
2087 const G4double kemin = 1.92/npTotXSec[0];
2088 return (ke>0.001 ? (3.0885 - 0.0011748/ke)/ke + 5.3107 :
2089 ke>kemin ? 1.92/ke : npTotXSec[0]);
2090 }
2091 return G4PionNucSampler::findCrossSection(ke, xsec); // Call through to base
2092}
double G4double
Definition: G4Types.hh:83
virtual G4double findCrossSection(G4double ke, const G4double(&xsec)[energyBins]) const

The documentation for this class was generated from the following files: