Geant4 11.1.1
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)
 
virtual ~G4HadronPhysicsShielding ()
 
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)
 
virtual ~G4HadronPhysicsFTFP_BERT ()
 
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
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 

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 = 0
 
G4String namePhysics = ""
 
G4int typePhysics = 0
 
G4ParticleTabletheParticleTable = nullptr
 
G4int g4vpcInstanceID = 0
 

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

Definition at line 109 of file G4HadronPhysicsShielding.cc.

◆ G4HadronPhysicsShielding() [2/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( const G4String name)
explicit

Definition at line 115 of file G4HadronPhysicsShielding.cc.

116 : G4HadronPhysicsShielding(name, false)
117{}

◆ 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 125 of file G4HadronPhysicsShielding.cc.

126 : G4HadronPhysicsShielding(name, false)
127{
129}

◆ G4HadronPhysicsShielding() [5/6]

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

Definition at line 131 of file G4HadronPhysicsShielding.cc.

133 : G4HadronPhysicsShielding(name, false)
134{
136 minFTFP_pion = minFTFPEnergy;
137 maxBERT_pion = maxBertiniEnergy;
138 minFTFP_kaon = minFTFPEnergy;
139 maxBERT_kaon = maxBertiniEnergy;
140 minFTFP_proton = minFTFPEnergy;
141 maxBERT_proton = maxBertiniEnergy;
142 minFTFP_neutron = minFTFPEnergy;
143 maxBERT_neutron = maxBertiniEnergy;
144}

◆ ~G4HadronPhysicsShielding()

G4HadronPhysicsShielding::~G4HadronPhysicsShielding ( )
virtual

Definition at line 146 of file G4HadronPhysicsShielding.cc.

147{}

◆ G4HadronPhysicsShielding() [6/6]

G4HadronPhysicsShielding::G4HadronPhysicsShielding ( G4HadronPhysicsShielding )
delete

Member Function Documentation

◆ ConstructProcess()

void G4HadronPhysicsShielding::ConstructProcess ( )
overridevirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 199 of file G4HadronPhysicsShielding.cc.

◆ Neutron()

void G4HadronPhysicsShielding::Neutron ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 149 of file G4HadronPhysicsShielding.cc.

150{
152 G4bool useFactorXS = param->ApplyFactorXS();
153
154 auto neu = new G4NeutronBuilder( true ); // Fission on
155 AddBuilder(neu);
156 auto ftfpneu = new G4FTFPNeutronBuilder(QuasiElastic);
157 AddBuilder(ftfpneu);
158 ftfpneu->SetMinEnergy(minFTFP_neutron);
159 neu->RegisterMe(ftfpneu);
160 auto bertneu = new G4BertiniNeutronBuilder;
161 AddBuilder(bertneu);
162 bertneu->SetMaxEnergy(maxBERT_neutron);
163 bertneu->SetMinEnergy(minBERT_neutron);
164 neu->RegisterMe(bertneu);
165 if(useLEND_) {
166 auto hpneu = new G4NeutronLENDBuilder(evaluation_);
167 AddBuilder(hpneu);
168 neu->RegisterMe(hpneu);
169 } else {
170 auto hpneu = new G4NeutronPHPBuilder;
171 AddBuilder(hpneu);
172 neu->RegisterMe(hpneu);
173 }
174 neu->Build();
175
178 if(inel) {
179 // Register the G4ParticleHPJENDLHEInelasticData as the 2nd priority.
181 if( useFactorXS ) inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
182 }
183
185 if (capture) {
186 G4NeutronRadCapture* theNeutronRadCapture = new G4NeutronRadCapture();
187 theNeutronRadCapture->SetMinEnergy( minBERT_neutron );
188 capture->RegisterMe( theNeutronRadCapture );
189 }
191 if (fission) {
192 G4LFission* theNeutronLEPFission = new G4LFission();
193 theNeutronLEPFission->SetMinEnergy( minBERT_neutron );
194 theNeutronLEPFission->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergy() );
195 fission->RegisterMe( theNeutronLEPFission );
196 }
197}
bool G4bool
Definition: G4Types.hh:86
void AddDataSet(G4VCrossSectionDataSet *)
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
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: