Geant4 11.4.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=default
Public Member Functions inherited from G4HadronPhysicsFTFP_BERT
 G4HadronPhysicsFTFP_BERT (G4int verbose=1)
 G4HadronPhysicsFTFP_BERT (const G4String &name, G4bool quasiElastic=false)
 ~G4HadronPhysicsFTFP_BERT () override=default
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 ()
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 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 = 0
G4String namePhysics = ""
G4int typePhysics = 0
G4ParticleTabletheParticleTable = nullptr
G4int g4vpcInstanceID = 0
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 61 of file G4HadronPhysicsFTFP_BERT_HP.cc.

62 : G4HadronPhysicsFTFP_BERT_HP("hInelastic FTFP_BERT_HP",false)
63{
65}
static G4HadronicParameters * Instance()
void SetVerboseLevel(const G4int val)

Referenced by G4HadronPhysicsFTFP_BERT_HP().

◆ G4HadronPhysicsFTFP_BERT_HP() [2/2]

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

Definition at line 67 of file G4HadronPhysicsFTFP_BERT_HP.cc.

68 : G4HadronPhysicsFTFP_BERT(name,quasiElastic)
69{
70 minBERT_neutron = 19.9*CLHEP::MeV;
71}

◆ ~G4HadronPhysicsFTFP_BERT_HP()

G4HadronPhysicsFTFP_BERT_HP::~G4HadronPhysicsFTFP_BERT_HP ( )
overridedefault

Member Function Documentation

◆ Neutron()

void G4HadronPhysicsFTFP_BERT_HP::Neutron ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 73 of file G4HadronPhysicsFTFP_BERT_HP.cc.

74{
75 G4HadronicParameters* param = G4HadronicParameters::Instance();
76 G4bool useFactorXS = param->ApplyFactorXS();
77
78 G4NeutronBuilder neu( true ); // Fission on
79
80 G4FTFPNeutronBuilder ftfpneu(QuasiElastic);
81 ftfpneu.SetMinEnergy(minFTFP_neutron);
82 neu.RegisterMe(&ftfpneu);
83
84 G4BertiniNeutronBuilder bertneu;
87 neu.RegisterMe(&bertneu);
88
89 G4NeutronPHPBuilder hpneu;
90 neu.RegisterMe(&hpneu);
91
92 // build all models
93 neu.Build();
94
95 const G4ParticleDefinition* neutron = G4Neutron::Neutron();
96 G4HadronicProcess* inel = G4PhysListUtil::FindInelasticProcess(neutron);
97 if ( nullptr != inel && useFactorXS ) {
99 }
100
101 G4HadronicProcess* capture = G4PhysListUtil::FindCaptureProcess(neutron);
102 if (nullptr != capture) {
103 G4NeutronRadCapture* theNeutronRadCapture = new G4NeutronRadCapture();
104 theNeutronRadCapture->SetMinEnergy( minBERT_neutron );
105 capture->RegisterMe( theNeutronRadCapture );
106 }
107 G4HadronicProcess* fission = G4PhysListUtil::FindFissionProcess(neutron);
108 if (nullptr != fission) {
109 G4LFission* theNeutronLEPFission = new G4LFission();
110 theNeutronLEPFission->SetMinEnergy( minBERT_neutron );
111 theNeutronLEPFission->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergy() );
112 fission->RegisterMe( theNeutronLEPFission );
113 }
114}
bool G4bool
Definition G4Types.hh:86
virtual void SetMaxEnergy(G4double aM) final override
virtual void SetMinEnergy(G4double aM) final override
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
G4double XSFactorNucleonInelastic() const
void MultiplyCrossSectionBy(G4double factor)
void RegisterMe(G4HadronicInteraction *a)
static G4Neutron * Neutron()
Definition G4Neutron.cc:101
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
static G4HadronicProcess * FindCaptureProcess(const G4ParticleDefinition *)
static G4HadronicProcess * FindFissionProcess(const G4ParticleDefinition *)

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