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

#include <G4HadronPhysicsQGSP_BERT_HP.hh>

+ Inheritance diagram for G4HadronPhysicsQGSP_BERT_HP:

Public Member Functions

 G4HadronPhysicsQGSP_BERT_HP (G4int verbose=1)
 
 G4HadronPhysicsQGSP_BERT_HP (const G4String &name, G4bool quasiElastic=true)
 
virtual ~G4HadronPhysicsQGSP_BERT_HP ()
 
 G4HadronPhysicsQGSP_BERT_HP (G4HadronPhysicsQGSP_BERT_HP &)=delete
 
G4HadronPhysicsQGSP_BERT_HPoperator= (const G4HadronPhysicsQGSP_BERT_HP &right)=delete
 
- Public Member Functions inherited from G4HadronPhysicsQGSP_BERT
 G4HadronPhysicsQGSP_BERT (G4int verbose=1)
 
 G4HadronPhysicsQGSP_BERT (const G4String &name, G4bool quasiElastic=true)
 
virtual ~G4HadronPhysicsQGSP_BERT ()
 
void ConstructParticle () override
 
void ConstructProcess () override
 
 G4HadronPhysicsQGSP_BERT (G4HadronPhysicsQGSP_BERT &)=delete
 
G4HadronPhysicsQGSP_BERToperator= (const G4HadronPhysicsQGSP_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 G4HadronPhysicsQGSP_BERT
void CreateModels ()
 
virtual void Proton ()
 
virtual void Pion ()
 
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 G4HadronPhysicsQGSP_BERT
G4double minQGSP_proton
 
G4double minQGSP_neutron
 
G4double minQGSP_pik
 
G4double minFTFP_proton
 
G4double minFTFP_neutron
 
G4double minFTFP_pik
 
G4double maxFTFP_proton
 
G4double maxFTFP_neutron
 
G4double maxFTFP_pik
 
G4double minBERT_proton
 
G4double minBERT_neutron
 
G4double minBERT_pik
 
G4double maxBERT_proton
 
G4double maxBERT_neutron
 
G4double maxBERT_pik
 
G4bool QuasiElasticFTF
 
G4bool QuasiElasticQGS
 
- 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 48 of file G4HadronPhysicsQGSP_BERT_HP.hh.

Constructor & Destructor Documentation

◆ G4HadronPhysicsQGSP_BERT_HP() [1/3]

G4HadronPhysicsQGSP_BERT_HP::G4HadronPhysicsQGSP_BERT_HP ( G4int verbose = 1)

Definition at line 84 of file G4HadronPhysicsQGSP_BERT_HP.cc.

85 : G4HadronPhysicsQGSP_BERT_HP("hInelastic QGSP_BERT_HP")
86{
88}
static G4HadronicParameters * Instance()
void SetVerboseLevel(const G4int val)

◆ G4HadronPhysicsQGSP_BERT_HP() [2/3]

G4HadronPhysicsQGSP_BERT_HP::G4HadronPhysicsQGSP_BERT_HP ( const G4String & name,
G4bool quasiElastic = true )

Definition at line 90 of file G4HadronPhysicsQGSP_BERT_HP.cc.

92{
93 minBERT_neutron = 19.9*MeV;
94 auto param = G4HadronicParameters::Instance();
95 // HP is inconsistent with the neutron general process
96 param->SetEnableNeutronGeneralProcess(false);
97}

◆ ~G4HadronPhysicsQGSP_BERT_HP()

virtual G4HadronPhysicsQGSP_BERT_HP::~G4HadronPhysicsQGSP_BERT_HP ( )
inlinevirtual

Definition at line 53 of file G4HadronPhysicsQGSP_BERT_HP.hh.

53{}

◆ G4HadronPhysicsQGSP_BERT_HP() [3/3]

G4HadronPhysicsQGSP_BERT_HP::G4HadronPhysicsQGSP_BERT_HP ( G4HadronPhysicsQGSP_BERT_HP & )
delete

Member Function Documentation

◆ Neutron()

void G4HadronPhysicsQGSP_BERT_HP::Neutron ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsQGSP_BERT.

Definition at line 99 of file G4HadronPhysicsQGSP_BERT_HP.cc.

100{
102 G4bool useFactorXS = param->ApplyFactorXS();
103
105 auto inel = new G4HadronInelasticProcess( "neutronInelastic", neutron );
106 neutron->GetProcessManager()->AddDiscreteProcess(inel);
107
109 qgs.SetMinEnergy(minQGSP_neutron);
110 qgs.Build(inel);
111
113 ftf.SetMinEnergy(minFTFP_neutron);
114 ftf.SetMaxEnergy(maxFTFP_neutron);
115 ftf.Build(inel);
116
120 bert.Build(inel);
121
122 auto xsinel = new G4NeutronInelasticXS();
123 inel->AddDataSet( xsinel );
124 inel->AddDataSet( new G4NeutronHPInelasticXS() );
125 auto mod = new G4NeutronHPInelasticVI();
126 mod->SetMaxEnergy( 20*CLHEP::MeV );
127 inel->RegisterMe( mod );
128 if ( useFactorXS )
129 inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
130
131 auto capture = new G4NeutronCaptureProcess( "nCaptureHP" );
132 neutron->GetProcessManager()->AddDiscreteProcess(capture);
133 capture->AddDataSet( new G4NeutronHPCaptureXS() );
134 capture->RegisterMe( new G4NeutronRadCaptureHP() );
135
136 auto fission = new G4NeutronFissionProcess( "nFissionHP" );
137 neutron->GetProcessManager()->AddDiscreteProcess(fission);
138 fission->AddDataSet( new G4NeutronHPFissionXS() );
139 fission->RegisterMe( new G4NeutronFissionVI() );
140}
bool G4bool
Definition G4Types.hh:86
virtual void SetMaxEnergy(G4double aM) final override
virtual void SetMinEnergy(G4double aM) final override
virtual void Build(G4HadronElasticProcess *) final override
G4double XSFactorNucleonInelastic() const
static G4Neutron * Neutron()
Definition G4Neutron.cc:101

◆ operator=()

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

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