Geant4-11
Public Types | Public Member Functions | Private Member Functions | Private Attributes
G4CascadePPChannel Class Reference

#include <G4CascadePPChannel.hh>

Inheritance diagram for G4CascadePPChannel:
G4CascadeFunctions< G4CascadePPChannelData, G4PionNucSampler > G4CascadeChannel G4PionNucSampler G4CascadeSampler< 30, 8 >

Public Types

enum  
 

Public Member Functions

virtual G4double findCrossSection (double ke, const G4double(&xsec)[energyBins]) const
 
virtual G4double findCrossSection (G4double ke, const G4double(&xsec)[30]) const
 
virtual G4int findFinalStateIndex (G4int mult, G4double ke, const G4int index[], const G4double xsec[][energyBins]) const
 
virtual G4int findMultiplicity (G4double ke, const G4double xmult[][energyBins]) const
 
 G4CascadePPChannel ()
 
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 print (std::ostream &os) const
 
virtual void printTable (std::ostream &os=G4cout) const
 
virtual ~G4CascadePPChannel ()
 

Private Member Functions

void fillSigmaBuffer (G4double ke, const G4double x[][energyBins], G4int startBin=0, G4int stopBin=multBins) const
 
G4int sampleFlat () const
 

Private Attributes

const G4double(& energyScale )[energyBins]
 
G4CascadeInterpolator< NBINS > interpolator
 
std::vector< G4doublesigmaBuf
 

Detailed Description

Definition at line 41 of file G4CascadePPChannel.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

Definition at line 45 of file G4CascadeSampler.hh.

45{ energyBins=NBINS, multBins=NMULT }; // For use in function arguments

Constructor & Destructor Documentation

◆ G4CascadePPChannel()

G4CascadePPChannel::G4CascadePPChannel ( )
inline

◆ ~G4CascadePPChannel()

virtual G4CascadePPChannel::~G4CascadePPChannel ( )
inlinevirtual

Definition at line 46 of file G4CascadePPChannel.hh.

46{;}

Member Function Documentation

◆ fillSigmaBuffer()

void G4CascadeSampler< NBINS, NMULT >::fillSigmaBuffer ( G4double  ke,
const G4double  x[][energyBins],
G4int  startBin = 0,
G4int  stopBin = multBins 
) const
privateinherited

◆ findCrossSection() [1/2]

virtual G4double G4CascadeSampler< NBINS, NMULT >::findCrossSection ( double  ke,
const G4double(&)  xsec[energyBins] 
) const
virtualinherited

◆ findCrossSection() [2/2]

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

Definition at line 1887 of file G4CascadePPChannel.cc.

1888 {
1889 if (ke < 0.01 && (xsec == ppTotXSec || xsec == ppCrossSections[0])) {
1890 // Stepanov's function for ke < 10 MeV, up to zero-energy value
1891 const G4double kemin = 4.0/ppTotXSec[0];
1892 return (ke>0.001 ? (9.0692 - 0.0050574/ke)/ke + 6.9466 :
1893 ke>kemin ? 4.0/ke : ppTotXSec[0]);
1894 }
1895 return G4PionNucSampler::findCrossSection(ke, xsec); // Call through to base
1896}
double G4double
Definition: G4Types.hh:83
virtual G4double findCrossSection(double ke, const G4double(&xsec)[energyBins]) const
static const G4double ppCrossSections[320][30]

References G4CascadeSampler< 30, 8 >::findCrossSection(), anonymous_namespace{G4CascadePPChannel.cc}::ppCrossSections, and anonymous_namespace{G4CascadePPChannel.cc}::ppTotXSec.

◆ findFinalStateIndex()

virtual G4int G4CascadeSampler< NBINS, NMULT >::findFinalStateIndex ( G4int  mult,
G4double  ke,
const G4int  index[],
const G4double  xsec[][energyBins] 
) const
virtualinherited

◆ findMultiplicity()

virtual G4int G4CascadeSampler< NBINS, NMULT >::findMultiplicity ( G4double  ke,
const G4double  xmult[][energyBins] 
) const
virtualinherited

◆ getCrossSection()

virtual G4double G4CascadeFunctions< G4CascadePPChannelData , G4PionNucSampler >::getCrossSection ( double  ke) const
inlinevirtualinherited

Implements G4CascadeChannel.

Definition at line 59 of file G4CascadeFunctions.hh.

59 {
60 return this->findCrossSection(ke, DATA::data.tot);
61 }

◆ getCrossSectionSum()

virtual G4double G4CascadeFunctions< G4CascadePPChannelData , G4PionNucSampler >::getCrossSectionSum ( double  ke) const
inlinevirtualinherited

Implements G4CascadeChannel.

Definition at line 63 of file G4CascadeFunctions.hh.

63 {
64 return this->findCrossSection(ke, DATA::data.sum);
65 }

◆ getMultiplicity()

virtual G4int G4CascadeFunctions< G4CascadePPChannelData , G4PionNucSampler >::getMultiplicity ( G4double  ke) const
virtualinherited

Implements G4CascadeChannel.

◆ getOutgoingParticleTypes()

virtual void G4CascadeFunctions< G4CascadePPChannelData , G4PionNucSampler >::getOutgoingParticleTypes ( std::vector< G4int > &  kinds,
G4int  mult,
G4double  ke 
) const
virtualinherited

Implements G4CascadeChannel.

◆ print()

virtual void G4CascadeSampler< NBINS, NMULT >::print ( std::ostream &  os) const
virtualinherited

◆ printTable()

virtual void G4CascadeFunctions< G4CascadePPChannelData , G4PionNucSampler >::printTable ( std::ostream &  os = G4cout) const
virtualinherited

Implements G4CascadeChannel.

◆ sampleFlat()

G4int G4CascadeSampler< NBINS, NMULT >::sampleFlat ( ) const
privateinherited

Field Documentation

◆ energyScale

const G4double(& G4CascadeSampler< NBINS, NMULT >::energyScale)[energyBins]
privateinherited

Definition at line 73 of file G4CascadeSampler.hh.

◆ interpolator

G4CascadeInterpolator<NBINS> G4CascadeSampler< NBINS, NMULT >::interpolator
privateinherited

Definition at line 71 of file G4CascadeSampler.hh.

◆ sigmaBuf

std::vector<G4double> G4CascadeSampler< NBINS, NMULT >::sigmaBuf
mutableprivateinherited

Definition at line 72 of file G4CascadeSampler.hh.


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