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

#include <G4HadronPhysicsQGSP_BIC_AllHP.hh>

Inheritance diagram for G4HadronPhysicsQGSP_BIC_AllHP:

Public Member Functions

 G4HadronPhysicsQGSP_BIC_AllHP (G4int verbose=1)
 G4HadronPhysicsQGSP_BIC_AllHP (const G4String &name, G4bool quasiElastic=true)
 ~G4HadronPhysicsQGSP_BIC_AllHP () override=default
 G4HadronPhysicsQGSP_BIC_AllHP (G4HadronPhysicsQGSP_BIC_AllHP &)=delete
G4HadronPhysicsQGSP_BIC_AllHPoperator= (const G4HadronPhysicsQGSP_BIC_AllHP &right)=delete
Public Member Functions inherited from G4HadronPhysicsQGSP_BIC_HP
 G4HadronPhysicsQGSP_BIC_HP (G4int verbose=1)
 G4HadronPhysicsQGSP_BIC_HP (const G4String &name, G4bool quasiElastic=true)
 ~G4HadronPhysicsQGSP_BIC_HP () override=default
 G4HadronPhysicsQGSP_BIC_HP (G4HadronPhysicsQGSP_BIC_HP &)=delete
G4HadronPhysicsQGSP_BIC_HPoperator= (const G4HadronPhysicsQGSP_BIC_HP &right)=delete
Public Member Functions inherited from G4HadronPhysicsQGSP_BIC
 G4HadronPhysicsQGSP_BIC (G4int verbose=1)
 G4HadronPhysicsQGSP_BIC (const G4String &name, G4bool quasiElastic=true)
 ~G4HadronPhysicsQGSP_BIC () override=default
 G4HadronPhysicsQGSP_BIC (G4HadronPhysicsQGSP_BIC &)=delete
G4HadronPhysicsQGSP_BICoperator= (const G4HadronPhysicsQGSP_BIC &right)=delete
Public Member Functions inherited from G4HadronPhysicsQGSP_BERT
 G4HadronPhysicsQGSP_BERT (G4int verbose=1)
 G4HadronPhysicsQGSP_BERT (const G4String &name, G4bool quasiElastic=true)
 ~G4HadronPhysicsQGSP_BERT () override=default
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 Proton () override
Protected Member Functions inherited from G4HadronPhysicsQGSP_BIC_HP
void Neutron () override
Protected Member Functions inherited from G4HadronPhysicsQGSP_BERT
void CreateModels ()
virtual void PiK ()
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 {0.0}
G4double minBERT_neutron {0.0}
G4double minBERT_pik {0.0}
G4double maxBERT_proton
G4double maxBERT_neutron
G4double maxBERT_pik
G4double maxBIC_proton {0.0}
G4double maxBIC_neutron {0.0}
G4double minBIC_neutron {0.0}
G4bool QuasiElasticFTF {false}
G4bool QuasiElasticQGS {true}
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 35 of file G4HadronPhysicsQGSP_BIC_AllHP.hh.

Constructor & Destructor Documentation

◆ G4HadronPhysicsQGSP_BIC_AllHP() [1/3]

G4HadronPhysicsQGSP_BIC_AllHP::G4HadronPhysicsQGSP_BIC_AllHP ( G4int verbose = 1)

Definition at line 53 of file G4HadronPhysicsQGSP_BIC_AllHP.cc.

54 : G4HadronPhysicsQGSP_BIC_AllHP( "hInelastic QGSP_BIC_AllHP" )
55{
57}
static G4HadronicParameters * Instance()
void SetVerboseLevel(const G4int val)

Referenced by G4HadronPhysicsQGSP_BIC_AllHP(), G4HadronPhysicsQGSP_BIC_AllHP(), and operator=().

◆ G4HadronPhysicsQGSP_BIC_AllHP() [2/3]

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

Definition at line 59 of file G4HadronPhysicsQGSP_BIC_AllHP.cc.

60 : G4HadronPhysicsQGSP_BIC_HP( name, quasiElastic )
61{
62 minBIC_proton = 190.0*CLHEP::MeV;
63 maxHP_proton = 200.0*CLHEP::MeV;
64}

◆ ~G4HadronPhysicsQGSP_BIC_AllHP()

G4HadronPhysicsQGSP_BIC_AllHP::~G4HadronPhysicsQGSP_BIC_AllHP ( )
overridedefault

◆ G4HadronPhysicsQGSP_BIC_AllHP() [3/3]

G4HadronPhysicsQGSP_BIC_AllHP::G4HadronPhysicsQGSP_BIC_AllHP ( G4HadronPhysicsQGSP_BIC_AllHP & )
delete

Member Function Documentation

◆ operator=()

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

◆ Proton()

void G4HadronPhysicsQGSP_BIC_AllHP::Proton ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsQGSP_BERT.

Definition at line 66 of file G4HadronPhysicsQGSP_BIC_AllHP.cc.

66 {
67 G4HadronicParameters* param = G4HadronicParameters::Instance();
68 G4bool useFactorXS = param->ApplyFactorXS();
69
70 G4ParticleDefinition* proton = G4Proton::Proton();
71 auto inel = new G4HadronInelasticProcess( "protonInelastic", proton );
72 proton->GetProcessManager()->AddDiscreteProcess(inel);
73
74 G4QGSPProtonBuilder qgs( QuasiElasticQGS );
75 qgs.SetMinEnergy( minQGSP_proton );
76 qgs.Build( inel );
77
78 G4FTFPProtonBuilder ftf( QuasiElasticFTF );
79 ftf.SetMinEnergy( minFTFP_proton );
80 ftf.SetMaxEnergy( maxFTFP_proton );
81 ftf.Build( inel );
82
84 G4BertiniProtonBuilder bert;
87 bert.Build( inel );
88 }
89
90 if ( maxBIC_proton > 0.0 ) {
91 G4BinaryProtonBuilder bic;
92 bic.SetMinEnergy( minBIC_proton );
94 bic.Build( inel );
95 }
96
97 auto xsinel = new G4ParticleInelasticXS( proton );
98 inel->AddDataSet( xsinel );
99
100 inel->AddDataSet( new G4ParticleHPInelasticData( proton ) );
101 auto mod = new G4ParticleHPInelastic( proton, "ProtonHPInelastic" );
102 mod->SetMaxEnergy( maxHP_proton );
103 inel->RegisterMe( mod );
104
105 if ( useFactorXS )
106 inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
107}
bool G4bool
Definition G4Types.hh:86
virtual void SetMinEnergy(G4double aM) final override
virtual void SetMaxEnergy(G4double aM) final override
virtual void Build(G4HadronElasticProcess *) final override
virtual void SetMaxEnergy(G4double aM) final override
virtual void Build(G4HadronElasticProcess *) final override
virtual void SetMinEnergy(G4double aM) final override
G4double XSFactorNucleonInelastic() const
static G4Proton * Proton()
Definition G4Proton.cc:90

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