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

#include <G4LENDCombinedCrossSection.hh>

+ Inheritance diagram for G4LENDCombinedCrossSection:

Public Member Functions

 G4LENDCombinedCrossSection (G4ParticleDefinition *pd)
 
 ~G4LENDCombinedCrossSection ()
 
void BuildPhysicsTable (const G4ParticleDefinition &)
 
G4double GetIsoCrossSection (const G4DynamicParticle *, G4int, G4int, const G4Isotope *, const G4Element *, const G4Material *)
 
G4int SelectChannel (const G4DynamicParticle *, G4int, G4int, const G4Isotope *, const G4Element *, const G4Material *)
 
- Public Member Functions inherited from G4LENDCrossSection
 G4LENDCrossSection (const G4String name="")
 
 ~G4LENDCrossSection ()
 
G4bool IsIsoApplicable (const G4DynamicParticle *, G4int, G4int, const G4Element *, const G4Material *)
 
G4double GetIsoCrossSection (const G4DynamicParticle *, G4int, G4int, const G4Isotope *, const G4Element *, const G4Material *)
 
void BuildPhysicsTable (const G4ParticleDefinition &)
 
void DumpPhysicsTable (const G4ParticleDefinition &)
 
void DumpLENDTargetInfo (G4bool force=false)
 
void ChangeDefaultEvaluation (G4String name_tmp)
 
void AllowNaturalAbundanceTarget ()
 
void AllowAnyCandidateTarget ()
 
- Public Member Functions inherited from G4VCrossSectionDataSet
 G4VCrossSectionDataSet (const G4String &nam="")
 
virtual ~G4VCrossSectionDataSet ()
 
virtual G4bool IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
virtual G4double ComputeCrossSectionPerElement (G4double kinEnergy, G4double loge, const G4ParticleDefinition *, const G4Element *, const G4Material *mat=nullptr)
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
 
virtual G4double ComputeIsoCrossSection (G4double kinEnergy, G4double loge, const G4ParticleDefinition *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
 
virtual const G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy, G4double logE)
 
virtual void CrossSectionDescription (std::ostream &) const
 
virtual void SetVerboseLevel (G4int value)
 
G4double GetMinKinEnergy () const
 
void SetMinKinEnergy (G4double value)
 
G4double GetMaxKinEnergy () const
 
void SetMaxKinEnergy (G4double value)
 
bool ForAllAtomsAndEnergies () const
 
void SetForAllAtomsAndEnergies (G4bool val)
 
const G4StringGetName () const
 
void SetName (const G4String &nam)
 
G4VCrossSectionDataSetoperator= (const G4VCrossSectionDataSet &right)=delete
 
 G4VCrossSectionDataSet (const G4VCrossSectionDataSet &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from G4LENDCrossSection
void create_used_target_map ()
 
G4GIDI_targetget_target_from_map (G4int nuclear_code)
 
virtual G4double getLENDCrossSection (G4GIDI_target *, G4double, G4double)
 
G4double GetUltraLowEnergyExtrapolatedXS (G4double, G4double, G4double, G4double, G4double)
 
- Protected Attributes inherited from G4LENDCrossSection
G4ParticleDefinitionproj
 
- Protected Attributes inherited from G4VCrossSectionDataSet
G4int verboseLevel
 
G4String name
 

Detailed Description

Definition at line 48 of file G4LENDCombinedCrossSection.hh.

Constructor & Destructor Documentation

◆ G4LENDCombinedCrossSection()

G4LENDCombinedCrossSection::G4LENDCombinedCrossSection ( G4ParticleDefinition * pd)

Definition at line 34 of file G4LENDCombinedCrossSection.cc.

◆ ~G4LENDCombinedCrossSection()

G4LENDCombinedCrossSection::~G4LENDCombinedCrossSection ( )
inline

Definition at line 53 of file G4LENDCombinedCrossSection.hh.

53{;};

Member Function Documentation

◆ BuildPhysicsTable()

void G4LENDCombinedCrossSection::BuildPhysicsTable ( const G4ParticleDefinition & pd)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 44 of file G4LENDCombinedCrossSection.cc.

45{
46 elasticXS->BuildPhysicsTable( pd );
47 inelasticXS->BuildPhysicsTable( pd );
48 captureXS->BuildPhysicsTable( pd );
49 fissionXS->BuildPhysicsTable( pd );
51}
void BuildPhysicsTable(const G4ParticleDefinition &)

Referenced by G4LENDCombinedModel::BuildPhysicsTable().

◆ GetIsoCrossSection()

G4double G4LENDCombinedCrossSection::GetIsoCrossSection ( const G4DynamicParticle * dp,
G4int iZ,
G4int iA,
const G4Isotope * isotope,
const G4Element * ,
const G4Material * material )
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 53 of file G4LENDCombinedCrossSection.cc.

55{
56 G4double XS = 0.0;
57 XS += elasticXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
58 XS += inelasticXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
59 XS += captureXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
60 XS += fissionXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
61 //G4cout << "G4LENDCombinedCrossSection::GetIsoCrossSection " << XS/CLHEP::barn << " [barn]" << G4endl;
62 return XS;
63}
double G4double
Definition G4Types.hh:83
G4double GetIsoCrossSection(const G4DynamicParticle *, G4int, G4int, const G4Isotope *, const G4Element *, const G4Material *)

◆ SelectChannel()

G4int G4LENDCombinedCrossSection::SelectChannel ( const G4DynamicParticle * dp,
G4int iZ,
G4int iA,
const G4Isotope * isotope,
const G4Element * ,
const G4Material * material )

Definition at line 65 of file G4LENDCombinedCrossSection.cc.

67{
68 G4int ichannel = 3;
69 G4double XSs[4];
70 XSs[0] = elasticXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
71 XSs[1] = XSs[0] + inelasticXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
72 XSs[2] = XSs[1] + captureXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
73 XSs[3] = XSs[2] + fissionXS->GetIsoCrossSection( dp, iZ, iA, isotope, NULL , material );
74
75 G4double total = XSs[3];
76
77 G4double random = G4UniformRand();
78 for (G4int i = 0 ; i < 4 ; i++) {
79 if (random*total < XSs[i]) {
80 ichannel = i;
81 break;
82 }
83 }
84
85 return ichannel;
86}
int G4int
Definition G4Types.hh:85
#define G4UniformRand()
Definition Randomize.hh:52
G4double total(Particle const *const p1, Particle const *const p2)

Referenced by G4LENDCombinedModel::ApplyYourself().


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