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

#include <G4HadronPhysicsShielding.hh>

+ Inheritance diagram for G4HadronPhysicsShielding:

Public Member Functions

 G4HadronPhysicsShielding (G4int verbose)
 
 G4HadronPhysicsShielding (const G4String &name)
 
 G4HadronPhysicsShielding (const G4String &name="hInelastic Shielding", G4bool qe=false)
 
 G4HadronPhysicsShielding (const G4String &name, G4int verbose)
 
 G4HadronPhysicsShielding (const G4String &name, G4int verbose, G4double minFTFPEnergy, G4double maxBertiniEnergy)
 
 ~G4HadronPhysicsShielding () override
 
void ConstructProcess () override
 
void UseLEND (const G4String &ss="")
 
void UnuseLEND ()
 
 G4HadronPhysicsShielding (G4HadronPhysicsShielding &)=delete
 
G4HadronPhysicsShieldingoperator= (const G4HadronPhysicsShielding &right)=delete
 
- Public Member Functions inherited from G4HadronPhysicsFTFP_BERT
 G4HadronPhysicsFTFP_BERT (G4int verbose=1)
 
 G4HadronPhysicsFTFP_BERT (const G4String &name, G4bool quasiElastic=false)
 
 ~G4HadronPhysicsFTFP_BERT () override
 
void ConstructParticle () override
 
void ConstructProcess () override
 
 G4HadronPhysicsFTFP_BERT (G4HadronPhysicsFTFP_BERT &)=delete
 
G4HadronPhysicsFTFP_BERToperator= (const G4HadronPhysicsFTFP_BERT &right)=delete
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
virtual void ConstructParticle ()=0
 
virtual void ConstructProcess ()=0
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 

Protected Member Functions

void Neutron () override
 
- Protected Member Functions inherited from G4HadronPhysicsFTFP_BERT
void CreateModels ()
 
virtual void Neutron ()
 
virtual void Proton ()
 
virtual void Pion ()
 
virtual void Kaon ()
 
virtual void Others ()
 
virtual void DumpBanner ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
PhysicsBuilder_V GetBuilders () const
 
void AddBuilder (G4PhysicsBuilderInterface *bld)
 

Protected Attributes

G4bool useLEND_
 
G4String evaluation_
 
- Protected Attributes inherited from G4HadronPhysicsFTFP_BERT
G4double minFTFP_pion
 
G4double maxBERT_pion
 
G4double minFTFP_kaon
 
G4double maxBERT_kaon
 
G4double minFTFP_proton
 
G4double maxBERT_proton
 
G4double minFTFP_neutron
 
G4double maxBERT_neutron
 
G4double minBERT_proton
 
G4double minBERT_neutron
 
G4bool QuasiElastic
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 48 of file G4HadronPhysicsShielding.hh.

Constructor & Destructor Documentation

◆ G4HadronPhysicsShielding() [1/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( G4int  verbose)
explicit

◆ G4HadronPhysicsShielding() [2/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( const G4String name)
explicit

Definition at line 114 of file G4HadronPhysicsShielding.cc.

115 : G4HadronPhysicsShielding(name, false)
116{}

◆ G4HadronPhysicsShielding() [3/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( const G4String name = "hInelastic Shielding",
G4bool  qe = false 
)
explicit

◆ G4HadronPhysicsShielding() [4/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( const G4String name,
G4int  verbose 
)
explicit

Definition at line 124 of file G4HadronPhysicsShielding.cc.

125 : G4HadronPhysicsShielding(name, false)
126{}

◆ G4HadronPhysicsShielding() [5/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( const G4String name,
G4int  verbose,
G4double  minFTFPEnergy,
G4double  maxBertiniEnergy 
)
explicit

Definition at line 128 of file G4HadronPhysicsShielding.cc.

130 : G4HadronPhysicsShielding(name, false)
131{
132 minFTFP_pion = minFTFPEnergy;
133 maxBERT_pion = maxBertiniEnergy;
134}

◆ ~G4HadronPhysicsShielding()

G4HadronPhysicsShielding::~G4HadronPhysicsShielding ( )
override

Definition at line 136 of file G4HadronPhysicsShielding.cc.

137{}

◆ G4HadronPhysicsShielding() [6/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( G4HadronPhysicsShielding )
delete

Member Function Documentation

◆ ConstructProcess()

void G4HadronPhysicsShielding::ConstructProcess ( )
overridevirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 189 of file G4HadronPhysicsShielding.cc.

190{
192 DumpBanner();
193 }
194 CreateModels();
195}
G4bool IsMasterThread()
Definition: G4Threading.cc:124

◆ Neutron()

void G4HadronPhysicsShielding::Neutron ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 139 of file G4HadronPhysicsShielding.cc.

140{
142 G4bool useFactorXS = param->ApplyFactorXS();
143
144 auto neu = new G4NeutronBuilder( true ); // Fission on
145 AddBuilder(neu);
146 auto ftfpneu = new G4FTFPNeutronBuilder(QuasiElastic);
147 AddBuilder(ftfpneu);
148 ftfpneu->SetMinEnergy(minFTFP_neutron);
149 neu->RegisterMe(ftfpneu);
150 auto bertneu = new G4BertiniNeutronBuilder;
151 AddBuilder(bertneu);
152 bertneu->SetMaxEnergy(maxBERT_neutron);
153 bertneu->SetMinEnergy(minBERT_neutron);
154 neu->RegisterMe(bertneu);
155 if(useLEND_) {
156 auto hpneu = new G4NeutronLENDBuilder(evaluation_);
157 AddBuilder(hpneu);
158 neu->RegisterMe(hpneu);
159 } else {
160 auto hpneu = new G4NeutronPHPBuilder;
161 AddBuilder(hpneu);
162 neu->RegisterMe(hpneu);
163 }
164 neu->Build();
165
168 if(inel) {
169 // Register the G4ParticleHPJENDLHEInelasticData as the 2nd priority.
171 if( useFactorXS ) inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
172 }
173
175 if (capture) {
176 G4NeutronRadCapture* theNeutronRadCapture = new G4NeutronRadCapture();
177 theNeutronRadCapture->SetMinEnergy( minBERT_neutron );
178 capture->RegisterMe( theNeutronRadCapture );
179 }
181 if (fission) {
182 G4LFission* theNeutronLEPFission = new G4LFission();
183 theNeutronLEPFission->SetMinEnergy( minBERT_neutron );
184 theNeutronLEPFission->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergy() );
185 fission->RegisterMe( theNeutronLEPFission );
186 }
187}
bool G4bool
Definition: G4Types.hh:86
void AddDataSet(G4VCrossSectionDataSet *)
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
static G4HadronicParameters * Instance()
G4double XSFactorNucleonInelastic() const
G4CrossSectionDataStore * GetCrossSectionDataStore()
void MultiplyCrossSectionBy(G4double factor)
void RegisterMe(G4HadronicInteraction *a)
static G4Neutron * Neutron()
Definition: G4Neutron.cc:103
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
static G4HadronicProcess * FindCaptureProcess(const G4ParticleDefinition *)
static G4HadronicProcess * FindFissionProcess(const G4ParticleDefinition *)
void AddBuilder(G4PhysicsBuilderInterface *bld)

◆ operator=()

G4HadronPhysicsShielding & G4HadronPhysicsShielding::operator= ( const G4HadronPhysicsShielding right)
delete

◆ UnuseLEND()

void G4HadronPhysicsShielding::UnuseLEND ( )
inline

Definition at line 65 of file G4HadronPhysicsShielding.hh.

65{ useLEND_=false; };

◆ UseLEND()

void G4HadronPhysicsShielding::UseLEND ( const G4String ss = "")
inline

Definition at line 64 of file G4HadronPhysicsShielding.hh.

64{ useLEND_=true; evaluation_=ss; };

Member Data Documentation

◆ evaluation_

G4String G4HadronPhysicsShielding::evaluation_
protected

Definition at line 77 of file G4HadronPhysicsShielding.hh.

Referenced by Neutron(), and UseLEND().

◆ useLEND_

G4bool G4HadronPhysicsShielding::useLEND_
protected

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