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

#include <G4NeutronLENDBuilder.hh>

Inheritance diagram for G4NeutronLENDBuilder:

Public Member Functions

 G4NeutronLENDBuilder (const G4String &eva="")
virtual ~G4NeutronLENDBuilder ()
virtual void Build (G4HadronElasticProcess *aP) final override
virtual void Build (G4NeutronFissionProcess *aP) final override
virtual void Build (G4NeutronCaptureProcess *aP) final override
virtual void Build (G4HadronInelasticProcess *aP) final override
virtual void SetMinEnergy (G4double aM) final override
void SetMinInelasticEnergy (G4double aM)
virtual void SetMaxEnergy (G4double aM) final override
void SetMaxInelasticEnergy (G4double aM)
Public Member Functions inherited from G4VNeutronBuilder
 G4VNeutronBuilder ()=default
virtual ~G4VNeutronBuilder ()
virtual void Build ()
Public Member Functions inherited from G4PhysicsBuilderInterface
 G4PhysicsBuilderInterface ()=default
virtual ~G4PhysicsBuilderInterface ()=default
virtual void RegisterMe (G4PhysicsBuilderInterface *)

Detailed Description

Definition at line 46 of file G4NeutronLENDBuilder.hh.

Constructor & Destructor Documentation

◆ G4NeutronLENDBuilder()

G4NeutronLENDBuilder::G4NeutronLENDBuilder ( const G4String & eva = "")

Definition at line 32 of file G4NeutronLENDBuilder.cc.

34{
35 theLENDElastic = 0;
36 theLENDElasticCrossSection = 0;
37
38 theLENDFission = 0;
39 theLENDFissionCrossSection = 0;
40
41 theLENDCapture = 0;
42 theLENDCaptureCrossSection = 0;
43
44 theLENDInelastic = 0;
45 theLENDInelasticCrossSection = 0;
46
47 theMin = 0;
48 theIMin = theMin;
49 theMax = 20*MeV;
50 theIMax = theMax;
51 evaluation = eva;
52
53}

◆ ~G4NeutronLENDBuilder()

virtual G4NeutronLENDBuilder::~G4NeutronLENDBuilder ( )
inlinevirtual

Definition at line 50 of file G4NeutronLENDBuilder.hh.

50{}

Member Function Documentation

◆ Build() [1/4]

void G4NeutronLENDBuilder::Build ( G4HadronElasticProcess * aP)
finaloverridevirtual

Implements G4VNeutronBuilder.

Definition at line 54 of file G4NeutronLENDBuilder.cc.

56{
57 if(theLENDElastic==0) theLENDElastic = new G4LENDElastic( G4Neutron::Neutron() );
58 theLENDElastic->SetMinEnergy(theMin);
59 theLENDElastic->SetMaxEnergy(theMax);
60
61 if ( evaluation != "" ) theLENDElastic->ChangeDefaultEvaluation( evaluation );
62 theLENDElastic->AllowNaturalAbundanceTarget();
63 //theLENDElastic->AllowAnyCandidateTarget();
64 if(theLENDElasticCrossSection == 0) theLENDElasticCrossSection = new G4LENDElasticCrossSection( G4Neutron::Neutron() );
65 if ( evaluation != "" ) theLENDElasticCrossSection->ChangeDefaultEvaluation( evaluation );
66 theLENDElasticCrossSection->AllowNaturalAbundanceTarget();
67 //theLENDElasticCrossSection->AllowAnyCandidateTarget();
68 aP->AddDataSet(theLENDElasticCrossSection);
69 aP->RegisterMe(theLENDElastic);
70}
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)
static G4Neutron * Neutron()
Definition G4Neutron.cc:101

◆ Build() [2/4]

void G4NeutronLENDBuilder::Build ( G4HadronInelasticProcess * aP)
finaloverridevirtual

Implements G4VNeutronBuilder.

Definition at line 106 of file G4NeutronLENDBuilder.cc.

108{
109 if(theLENDInelastic==0) theLENDInelastic = new G4LENDInelastic( G4Neutron::Neutron() );
110 theLENDInelastic->SetMinEnergy(theIMin);
111 theLENDInelastic->SetMaxEnergy(theIMax);
112 if ( evaluation != "" ) theLENDInelastic->ChangeDefaultEvaluation( evaluation );
113 theLENDInelastic->AllowNaturalAbundanceTarget();
114 //theLENDInelastic->AllowAnyCandidateTarget();
115 if(theLENDInelasticCrossSection==0) theLENDInelasticCrossSection = new G4LENDInelasticCrossSection( G4Neutron::Neutron() );
116 if ( evaluation != "" ) theLENDInelasticCrossSection->ChangeDefaultEvaluation( evaluation );
117 theLENDInelasticCrossSection->AllowNaturalAbundanceTarget();
118 //theLENDInelasticCrossSection->AllowAnyCandidateTarget();
119 aP->AddDataSet(theLENDInelasticCrossSection);
120 aP->RegisterMe(theLENDInelastic);
121}

◆ Build() [3/4]

void G4NeutronLENDBuilder::Build ( G4NeutronCaptureProcess * aP)
finaloverridevirtual

Implements G4VNeutronBuilder.

Definition at line 89 of file G4NeutronLENDBuilder.cc.

91{
92 if(theLENDCapture==0) theLENDCapture = new G4LENDCapture( G4Neutron::Neutron() );
93 theLENDCapture->SetMinEnergy(theMin);
94 theLENDCapture->SetMaxEnergy(theMax);
95 if ( evaluation != "" ) theLENDCapture->ChangeDefaultEvaluation( evaluation );
96 theLENDCapture->AllowNaturalAbundanceTarget();
97 //theLENDCapture->AllowAnyCandidateTarget();
98 if(theLENDCaptureCrossSection==0) theLENDCaptureCrossSection = new G4LENDCaptureCrossSection( G4Neutron::Neutron() );
99 if ( evaluation != "" ) theLENDCaptureCrossSection->ChangeDefaultEvaluation( evaluation );
100 theLENDCaptureCrossSection->AllowNaturalAbundanceTarget();
101 //theLENDCaptureCrossSection->AllowAnyCandidateTarget();
102 aP->AddDataSet(theLENDCaptureCrossSection);
103 aP->RegisterMe(theLENDCapture);
104}

◆ Build() [4/4]

void G4NeutronLENDBuilder::Build ( G4NeutronFissionProcess * aP)
finaloverridevirtual

Implements G4VNeutronBuilder.

Definition at line 72 of file G4NeutronLENDBuilder.cc.

74{
75 if(theLENDFission == 0) theLENDFission = new G4LENDFission( G4Neutron::Neutron() );
76 theLENDFission->SetMinEnergy(theMin);
77 theLENDFission->SetMaxEnergy(theMax);
78 if ( evaluation != "" ) theLENDFission->ChangeDefaultEvaluation( evaluation );
79 //theLENDFission->AllowNaturalAbundanceTarget();
80 //theLENDFission->AllowAnyCandidateTarget();
81 if(theLENDFissionCrossSection==0) theLENDFissionCrossSection=new G4LENDFissionCrossSection( G4Neutron::Neutron() );
82 if ( evaluation != "" ) theLENDFissionCrossSection->ChangeDefaultEvaluation( evaluation );
83 //theLENDFissionCrossSection->AllowNaturalAbundanceTarget();
84 //theLENDFissionCrossSection->AllowAnyCandidateTarget();
85 aP->AddDataSet(theLENDFissionCrossSection);
86 aP->RegisterMe(theLENDFission);
87}

◆ SetMaxEnergy()

virtual void G4NeutronLENDBuilder::SetMaxEnergy ( G4double aM)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 66 of file G4NeutronLENDBuilder.hh.

67 {
68 theIMax = aM;
69 theMax=aM;
70 }

◆ SetMaxInelasticEnergy()

void G4NeutronLENDBuilder::SetMaxInelasticEnergy ( G4double aM)
inline

Definition at line 71 of file G4NeutronLENDBuilder.hh.

72 {
73 theIMax = aM;
74 }

◆ SetMinEnergy()

virtual void G4NeutronLENDBuilder::SetMinEnergy ( G4double aM)
inlinefinaloverridevirtual

Reimplemented from G4PhysicsBuilderInterface.

Definition at line 57 of file G4NeutronLENDBuilder.hh.

58 {
59 theMin=aM;
60 theIMin = theMin;
61 }

◆ SetMinInelasticEnergy()

void G4NeutronLENDBuilder::SetMinInelasticEnergy ( G4double aM)
inline

Definition at line 62 of file G4NeutronLENDBuilder.hh.

63 {
64 theIMin=aM;
65 }

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