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

#include <G4HadronPhysicsFTFP_BERT_HP.hh>

+ Inheritance diagram for G4HadronPhysicsFTFP_BERT_HP:

Public Member Functions

 G4HadronPhysicsFTFP_BERT_HP (G4int verbose=1)
 
 G4HadronPhysicsFTFP_BERT_HP (const G4String &name, G4bool quasiElastic=false)
 
 ~G4HadronPhysicsFTFP_BERT_HP () override
 
- 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)
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 
- 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
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 45 of file G4HadronPhysicsFTFP_BERT_HP.hh.

Constructor & Destructor Documentation

◆ G4HadronPhysicsFTFP_BERT_HP() [1/2]

G4HadronPhysicsFTFP_BERT_HP::G4HadronPhysicsFTFP_BERT_HP ( G4int  verbose = 1)

Definition at line 62 of file G4HadronPhysicsFTFP_BERT_HP.cc.

63 : G4HadronPhysicsFTFP_BERT_HP("hInelastic FTFP_BERT_HP",false)
64{}

◆ G4HadronPhysicsFTFP_BERT_HP() [2/2]

G4HadronPhysicsFTFP_BERT_HP::G4HadronPhysicsFTFP_BERT_HP ( const G4String name,
G4bool  quasiElastic = false 
)

◆ ~G4HadronPhysicsFTFP_BERT_HP()

G4HadronPhysicsFTFP_BERT_HP::~G4HadronPhysicsFTFP_BERT_HP ( )
override

Definition at line 72 of file G4HadronPhysicsFTFP_BERT_HP.cc.

73{}

Member Function Documentation

◆ Neutron()

void G4HadronPhysicsFTFP_BERT_HP::Neutron ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 75 of file G4HadronPhysicsFTFP_BERT_HP.cc.

76{
78 G4bool useFactorXS = param->ApplyFactorXS();
79
80 auto neu = new G4NeutronBuilder( true ); // Fission on
81 AddBuilder(neu);
82 auto ftfpneu = new G4FTFPNeutronBuilder(QuasiElastic);
83 AddBuilder(ftfpneu);
84 ftfpneu->SetMinEnergy(minFTFP_neutron);
85 neu->RegisterMe(ftfpneu);
86 auto bertneu = new G4BertiniNeutronBuilder;
87 AddBuilder(bertneu);
88 bertneu->SetMaxEnergy(maxBERT_neutron);
89 bertneu->SetMinEnergy(minBERT_neutron);
90 neu->RegisterMe(bertneu);
91 auto hpneu = new G4NeutronPHPBuilder;
92 AddBuilder(hpneu);
93 neu->RegisterMe(hpneu);
94 neu->Build();
95
98 if(inel) {
99 if( useFactorXS ) inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
100 }
101
103 if (capture) {
104 G4NeutronRadCapture* theNeutronRadCapture = new G4NeutronRadCapture();
105 theNeutronRadCapture->SetMinEnergy( minBERT_neutron );
106 capture->RegisterMe( theNeutronRadCapture );
107 }
109 if (fission) {
110 G4LFission* theNeutronLEPFission = new G4LFission();
111 theNeutronLEPFission->SetMinEnergy( minBERT_neutron );
112 theNeutronLEPFission->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergy() );
113 fission->RegisterMe( theNeutronLEPFission );
114 }
115}
bool G4bool
Definition: G4Types.hh:86
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
static G4HadronicParameters * Instance()
G4double XSFactorNucleonInelastic() const
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)

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