Geant4-11
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes
G4HadronPhysicsINCLXX Class Reference

#include <G4HadronPhysicsINCLXX.hh>

Inheritance diagram for G4HadronPhysicsINCLXX:
G4HadronPhysicsFTFP_BERT G4VPhysicsConstructor

Public Member Functions

void ConstructParticle () override
 
void ConstructProcess () override
 
 G4HadronPhysicsINCLXX (const G4String &name, const G4bool quasiElastic=true, const G4bool neutronHP=false, const G4bool ftfp=false)
 
 G4HadronPhysicsINCLXX (G4HadronPhysicsINCLXX &)=delete
 
 G4HadronPhysicsINCLXX (G4int verbose=1)
 
G4int GetInstanceID () const
 
const G4StringGetPhysicsName () const
 
G4int GetPhysicsType () const
 
G4int GetVerboseLevel () const
 
G4HadronPhysicsINCLXXoperator= (const G4HadronPhysicsINCLXX &right)=delete
 
void SetPhysicsName (const G4String &="")
 
void SetPhysicsType (G4int)
 
void SetQuasiElastic (G4bool value)
 
void SetVerboseLevel (G4int value)
 
virtual void TerminateWorker ()
 
virtual ~G4HadronPhysicsINCLXX ()
 

Static Public Member Functions

static const G4VPCManagerGetSubInstanceManager ()
 

Protected Types

using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 

Protected Member Functions

void AddBuilder (G4PhysicsBuilderInterface *bld)
 
void CreateModels ()
 
virtual void DumpBanner ()
 
PhysicsBuilder_V GetBuilders () const
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
void Kaon () override
 
void Neutron () override
 
void Others () override
 
void Pion () override
 
void Proton () override
 
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 

Protected Attributes

G4int g4vpcInstanceID = 0
 
G4double maxBERT_kaon
 
G4double maxBERT_neutron
 
G4double maxBERT_pion
 
G4double maxBERT_proton
 
G4double minBERT_neutron
 
G4double minBERT_proton
 
G4double minFTFP_kaon
 
G4double minFTFP_neutron
 
G4double minFTFP_pion
 
G4double minFTFP_proton
 
G4String namePhysics = ""
 
G4bool QuasiElastic
 
G4ParticleTabletheParticleTable = nullptr
 
G4int typePhysics = 0
 
G4int verboseLevel = 0
 

Static Protected Attributes

static G4RUN_DLL G4VPCManager subInstanceManager
 

Private Attributes

G4bool withFTFP
 
G4bool withNeutronHP
 

Detailed Description

Build hadronic physics using INCL++, high-energy models (QGSP or FTFP) and possibly NeutronHP.

See also
G4INCLXXProtonBuilder
G4INCLXXNeutronBuilder
G4INCLXXPionBuilder
G4IonINCLXXBuilder

Definition at line 62 of file G4HadronPhysicsINCLXX.hh.

Member Typedef Documentation

◆ PhysicsBuilder_V

Definition at line 149 of file G4VPhysicsConstructor.hh.

Constructor & Destructor Documentation

◆ G4HadronPhysicsINCLXX() [1/3]

G4HadronPhysicsINCLXX::G4HadronPhysicsINCLXX ( G4int  verbose = 1)

Definition at line 94 of file G4HadronPhysicsINCLXX.cc.

95 : G4HadronPhysicsINCLXX("hInelastic INCLXX")
96{
98}
G4HadronPhysicsINCLXX(G4int verbose=1)
static G4HadronicParameters * Instance()
void SetVerboseLevel(const G4int val)

References G4HadronicParameters::Instance(), and G4HadronicParameters::SetVerboseLevel().

◆ G4HadronPhysicsINCLXX() [2/3]

G4HadronPhysicsINCLXX::G4HadronPhysicsINCLXX ( const G4String name,
const G4bool  quasiElastic = true,
const G4bool  neutronHP = false,
const G4bool  ftfp = false 
)

Definition at line 100 of file G4HadronPhysicsINCLXX.cc.

101 : G4HadronPhysicsFTFP_BERT(name, quasiElastic),
102 withNeutronHP(neutronHP),
103 withFTFP(ftfp)
104{
105 QuasiElastic = withFTFP ? false : true;
106 minBERT_neutron = withNeutronHP ? 19.9*MeV : 0.0;
107}
static constexpr double MeV
Definition: G4SIunits.hh:200
const char * name(G4int ptype)

References MeV, G4HadronPhysicsFTFP_BERT::minBERT_neutron, G4HadronPhysicsFTFP_BERT::QuasiElastic, withFTFP, and withNeutronHP.

◆ ~G4HadronPhysicsINCLXX()

G4HadronPhysicsINCLXX::~G4HadronPhysicsINCLXX ( )
virtual

Definition at line 308 of file G4HadronPhysicsINCLXX.cc.

309{}

◆ G4HadronPhysicsINCLXX() [3/3]

G4HadronPhysicsINCLXX::G4HadronPhysicsINCLXX ( G4HadronPhysicsINCLXX )
delete

Member Function Documentation

◆ AddBuilder()

void G4VPhysicsConstructor::AddBuilder ( G4PhysicsBuilderInterface bld)
protectedinherited

◆ ConstructParticle()

void G4HadronPhysicsFTFP_BERT::ConstructParticle ( )
overridevirtualinherited

Implements G4VPhysicsConstructor.

Definition at line 115 of file G4HadronPhysicsFTFP_BERT.cc.

116{
117 G4MesonConstructor pMesonConstructor;
118 pMesonConstructor.ConstructParticle();
119
120 G4BaryonConstructor pBaryonConstructor;
121 pBaryonConstructor.ConstructParticle();
122
123 G4ShortLivedConstructor pShortLivedConstructor;
124 pShortLivedConstructor.ConstructParticle();
125
126 G4IonConstructor pIonConstructor;
127 pIonConstructor.ConstructParticle();
128}
static void ConstructParticle()
static void ConstructParticle()
static void ConstructParticle()

References G4BaryonConstructor::ConstructParticle(), G4IonConstructor::ConstructParticle(), G4MesonConstructor::ConstructParticle(), and G4ShortLivedConstructor::ConstructParticle().

◆ ConstructProcess()

void G4HadronPhysicsINCLXX::ConstructProcess ( )
overridevirtual

◆ CreateModels()

void G4HadronPhysicsFTFP_BERT::CreateModels ( )
protectedinherited

◆ DumpBanner()

void G4HadronPhysicsFTFP_BERT::DumpBanner ( )
protectedvirtualinherited

Reimplemented in G4HadronPhysicsFTFQGSP_BERT.

Definition at line 130 of file G4HadronPhysicsFTFP_BERT.cc.

131{
132 G4cout << G4endl
133 << " " << GetPhysicsName() << " : threshold between BERT and FTFP is over the interval " << G4endl
134 << " for pions : " << minFTFP_pion/GeV << " to " << maxBERT_pion/GeV << " GeV" << G4endl
135 << " for kaons : " << minFTFP_kaon/GeV << " to " << maxBERT_kaon/GeV << " GeV" << G4endl
136 << " for proton : " << minFTFP_proton/GeV << " to " << maxBERT_proton/GeV << " GeV" << G4endl
137 << " for neutron : " << minFTFP_neutron/GeV << " to " << maxBERT_neutron/GeV << " GeV" << G4endl
138 << G4endl;
139}
static constexpr double GeV
Definition: G4SIunits.hh:203
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
const G4String & GetPhysicsName() const

References G4cout, G4endl, G4VPhysicsConstructor::GetPhysicsName(), GeV, G4HadronPhysicsFTFP_BERT::maxBERT_kaon, G4HadronPhysicsFTFP_BERT::maxBERT_neutron, G4HadronPhysicsFTFP_BERT::maxBERT_pion, G4HadronPhysicsFTFP_BERT::maxBERT_proton, G4HadronPhysicsFTFP_BERT::minFTFP_kaon, G4HadronPhysicsFTFP_BERT::minFTFP_neutron, G4HadronPhysicsFTFP_BERT::minFTFP_pion, and G4HadronPhysicsFTFP_BERT::minFTFP_proton.

Referenced by G4HadronPhysicsFTFP_BERT::ConstructProcess(), G4HadronPhysicsFTFP_BERT_ATL::ConstructProcess(), ConstructProcess(), G4HadronPhysicsNuBeam::ConstructProcess(), G4HadronPhysicsShielding::ConstructProcess(), and G4HadronPhysicsFTFQGSP_BERT::DumpBanner().

◆ GetBuilders()

G4VPhysicsConstructor::PhysicsBuilder_V G4VPhysicsConstructor::GetBuilders ( ) const
protectedinherited

Definition at line 86 of file G4VPhysicsConstructor.cc.

87{
88 const auto& tls = *((subInstanceManager.offset[g4vpcInstanceID])._builders);
89 PhysicsBuilder_V copy(tls.size());
90 G4int i = 0;
91 for(const auto& el : tls)
92 {
93 copy[i++] = el;
94 }
95 return copy;
96}
int G4int
Definition: G4Types.hh:85
G4VPCData::PhysicsBuilders_V PhysicsBuilder_V
void copy(G4double dst[], const G4double src[], size_t size=G4FieldTrack::ncompSVEC)
Definition: G4FieldUtils.cc:98

References field_utils::copy(), G4VPhysicsConstructor::g4vpcInstanceID, G4VUPLSplitter< T >::offset, and G4VPhysicsConstructor::subInstanceManager.

◆ GetInstanceID()

G4int G4VPhysicsConstructor::GetInstanceID ( ) const
inlineinherited

◆ GetParticleIterator()

G4ParticleTable::G4PTblDicIterator * G4VPhysicsConstructor::GetParticleIterator ( ) const
protectedinherited

◆ GetPhysicsName()

const G4String & G4VPhysicsConstructor::GetPhysicsName ( ) const
inlineinherited

Definition at line 191 of file G4VPhysicsConstructor.hh.

192{
193 return namePhysics;
194}

References G4VPhysicsConstructor::namePhysics.

Referenced by G4EmDNAPhysics_option1::ConstructProcess(), G4EmDNAPhysics_option2::ConstructProcess(), G4EmDNAPhysics_option3::ConstructProcess(), G4EmDNAPhysics_option4::ConstructProcess(), G4EmDNAPhysics_option5::ConstructProcess(), G4EmDNAPhysics_option6::ConstructProcess(), G4EmDNAPhysics_option7::ConstructProcess(), G4EmDNAPhysics_option8::ConstructProcess(), G4EmDNAPhysics_stationary_option2::ConstructProcess(), G4EmDNAPhysics_stationary_option4::ConstructProcess(), G4EmDNAPhysics_stationary_option6::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_stationary::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysicsGS::ConstructProcess(), G4EmStandardPhysicsSS::ConstructProcess(), G4EmStandardPhysicsWVI::ConstructProcess(), G4ThermalNeutrons::ConstructProcess(), G4HadronPhysicsFTFP_BERT::DumpBanner(), G4HadronPhysicsQGSP_BERT::DumpBanner(), export_G4VPhysicsConstructor(), G4HadronDElasticPhysics::G4HadronDElasticPhysics(), G4HadronElasticPhysics::G4HadronElasticPhysics(), G4HadronElasticPhysicsHP::G4HadronElasticPhysicsHP(), G4HadronElasticPhysicsLEND::G4HadronElasticPhysicsLEND(), G4HadronElasticPhysicsPHP::G4HadronElasticPhysicsPHP(), G4HadronElasticPhysicsXS::G4HadronElasticPhysicsXS(), G4HadronHElasticPhysics::G4HadronHElasticPhysics(), G4IonElasticPhysics::G4IonElasticPhysics(), G4VModularPhysicsList::RegisterPhysics(), and G4VModularPhysicsList::ReplacePhysics().

◆ GetPhysicsType()

G4int G4VPhysicsConstructor::GetPhysicsType ( ) const
inlineinherited

◆ GetSubInstanceManager()

const G4VPCManager & G4VPhysicsConstructor::GetSubInstanceManager ( )
inlinestaticinherited

◆ GetVerboseLevel()

G4int G4VPhysicsConstructor::GetVerboseLevel ( ) const
inlineinherited

◆ Kaon()

void G4HadronPhysicsINCLXX::Kaon ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 240 of file G4HadronPhysicsINCLXX.cc.

241{
243 G4bool useFactorXS = param->ApplyFactorXS();
244
245 auto k = new G4KaonBuilder;
246 AddBuilder(k);
247 G4PhysicsBuilderInterface* string = nullptr;
248 if(withFTFP) {
249 string = new G4FTFPKaonBuilder(QuasiElastic);
250 } else {
251 string = new G4QGSPKaonBuilder(QuasiElastic);
252 }
253 string->SetMinEnergy(14.*GeV);
254 AddBuilder(string);
255 k->RegisterMe(string);
256
257 auto bert = new G4BertiniKaonBuilder;
258 bert->SetMinEnergy(0.0*GeV);
259 bert->SetMaxEnergy(15.0*GeV);
260 AddBuilder(bert);
261 k->RegisterMe(bert);
262
263 k->Build();
264
265 if( useFactorXS ) {
267 for( auto & pdg : G4HadParticles::GetKaons() ) {
268 auto part = table->FindParticle( pdg );
269 if ( part == nullptr ) { continue; }
271 if(nullptr != inel) {
273 }
274 }
275 }
276}
bool G4bool
Definition: G4Types.hh:86
virtual void SetMinEnergy(G4double aM) final override
static const std::vector< G4int > & GetKaons()
G4double XSFactorHadronInelastic() const
void MultiplyCrossSectionBy(G4double factor)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
void AddBuilder(G4PhysicsBuilderInterface *bld)

References G4VPhysicsConstructor::AddBuilder(), G4HadronicParameters::ApplyFactorXS(), G4PhysListUtil::FindInelasticProcess(), G4ParticleTable::FindParticle(), G4HadParticles::GetKaons(), G4ParticleTable::GetParticleTable(), GeV, G4HadronicParameters::Instance(), G4HadronicProcess::MultiplyCrossSectionBy(), G4HadronPhysicsFTFP_BERT::QuasiElastic, G4BertiniKaonBuilder::SetMinEnergy(), withFTFP, and G4HadronicParameters::XSFactorHadronInelastic().

◆ Neutron()

void G4HadronPhysicsINCLXX::Neutron ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 109 of file G4HadronPhysicsINCLXX.cc.

110{
112 G4bool useFactorXS = param->ApplyFactorXS();
113 //General schema:
114 // 1) Create a builder
115 // 2) Call AddBuilder
116 // 3) Configure the builder, possibly with sub-builders
117 // 4) Call builder->Build()
118 auto neu = new G4NeutronBuilder( withNeutronHP );
120 G4PhysicsBuilderInterface* string = nullptr;
121 if(withFTFP) {
123 } else {
125 }
126 string->SetMinEnergy(15.*GeV);
127 AddBuilder(string);
128 neu->RegisterMe(string);
129
130 auto inclxxn = new G4INCLXXNeutronBuilder;
131 inclxxn->SetMaxEnergy(20.*GeV);
132 AddBuilder(inclxxn);
133 neu->RegisterMe(inclxxn);
134
135 if(withNeutronHP) {
136 inclxxn->UsePreCompound(false);
137 inclxxn->SetMinEnergy(minBERT_neutron);
138 auto hpn = new G4NeutronPHPBuilder;
139 AddBuilder(hpn);
140 neu->RegisterMe(hpn);
141 } else {
142 inclxxn->UsePreCompound(true);
143 inclxxn->SetMinPreCompoundEnergy(0.0*MeV);
144 inclxxn->SetMaxPreCompoundEnergy(2.0*MeV);
145 inclxxn->SetMinEnergy(1.0*MeV);
146 }
147
148 neu->Build();
149
152 if(nullptr != inel) {
153 if( useFactorXS ) inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
154 }
156 if (nullptr != capture) {
157 G4NeutronRadCapture* theNeutronRadCapture = new G4NeutronRadCapture();
158 theNeutronRadCapture->SetMinEnergy( minBERT_neutron );
159 capture->RegisterMe( theNeutronRadCapture );
160 }
162 if (nullptr != fission) {
163 G4LFission* theNeutronLEPFission = new G4LFission();
164 theNeutronLEPFission->SetMinEnergy( minBERT_neutron );
165 theNeutronLEPFission->SetMaxEnergy( G4HadronicParameters::Instance()->GetMaxEnergy() );
166 fission->RegisterMe( theNeutronLEPFission );
167 }
168}
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
G4double XSFactorNucleonInelastic() const
void RegisterMe(G4HadronicInteraction *a)
virtual void SetMaxEnergy(G4double aM) final override
static G4Neutron * Neutron()
Definition: G4Neutron.cc:103
static G4HadronicProcess * FindCaptureProcess(const G4ParticleDefinition *)
static G4HadronicProcess * FindFissionProcess(const G4ParticleDefinition *)

References G4VPhysicsConstructor::AddBuilder(), G4HadronicParameters::ApplyFactorXS(), G4PhysListUtil::FindCaptureProcess(), G4PhysListUtil::FindFissionProcess(), G4PhysListUtil::FindInelasticProcess(), GeV, G4HadronicParameters::Instance(), MeV, G4HadronPhysicsFTFP_BERT::minBERT_neutron, G4HadronicProcess::MultiplyCrossSectionBy(), G4InuclParticleNames::neu, G4Neutron::Neutron(), G4InuclParticleNames::neutron, G4HadronPhysicsFTFP_BERT::QuasiElastic, G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), G4INCLXXNeutronBuilder::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), withFTFP, withNeutronHP, and G4HadronicParameters::XSFactorNucleonInelastic().

◆ operator=()

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

◆ Others()

void G4HadronPhysicsINCLXX::Others ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 278 of file G4HadronPhysicsINCLXX.cc.

279{
281
282 // high energy particles
283 if( param->GetMaxEnergy() > param->EnergyThresholdForHeavyHadrons() ) {
284
285 // anti light ions
287
288 if(withFTFP) {
289 // hyperons
291
292 // b-, c- baryons and mesons
293 if( param->EnableBCParticles() ) {
295 }
296 } else {
297 // hyperons
299
300 // b-, c- baryons and mesons
301 if( param->EnableBCParticles() ) {
303 }
304 }
305 }
306}
static void BuildBCHadronsFTFP_BERT()
static void BuildHyperonsFTFP_BERT()
static void BuildHyperonsQGSP_FTFP_BERT(G4bool quasiElastic)
static void BuildAntiLightIonsFTFP()
static void BuildBCHadronsQGSP_FTFP_BERT(G4bool quasiElastic)
G4bool EnableBCParticles() const
G4double EnergyThresholdForHeavyHadrons() const
G4double GetMaxEnergy() const

References G4HadronicBuilder::BuildAntiLightIonsFTFP(), G4HadronicBuilder::BuildBCHadronsFTFP_BERT(), G4HadronicBuilder::BuildBCHadronsQGSP_FTFP_BERT(), G4HadronicBuilder::BuildHyperonsFTFP_BERT(), G4HadronicBuilder::BuildHyperonsQGSP_FTFP_BERT(), G4HadronicParameters::EnableBCParticles(), G4HadronicParameters::EnergyThresholdForHeavyHadrons(), G4HadronicParameters::GetMaxEnergy(), G4HadronicParameters::Instance(), and withFTFP.

◆ Pion()

void G4HadronPhysicsINCLXX::Pion ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 201 of file G4HadronPhysicsINCLXX.cc.

202{
204 G4bool useFactorXS = param->ApplyFactorXS();
205
206 auto pi = new G4PionBuilder;
207 AddBuilder(pi);
208 G4PhysicsBuilderInterface* string = nullptr;
209 if(withFTFP) {
210 string = new G4FTFPPionBuilder(QuasiElastic);
211 } else {
212 string = new G4QGSPPionBuilder(QuasiElastic);
213 }
214 string->SetMinEnergy(15.*GeV);
215 AddBuilder(string);
216 pi->RegisterMe(string);
217
218 auto inclxx = new G4INCLXXPionBuilder;
219 inclxx->SetMinEnergy(0.0*GeV);
220 inclxx->SetMaxEnergy(20.*GeV);
221 AddBuilder(inclxx);
222 pi->RegisterMe(inclxx);
223
224 pi->Build();
225
226 if( useFactorXS ) {
229 if(nullptr != inel) {
231 }
234 if(nullptr != inel) {
236 }
237 }
238}
static constexpr double pi
Definition: G4SIunits.hh:55
G4double XSFactorPionInelastic() const
virtual void SetMinEnergy(G4double aM) final override
static G4PionMinus * PionMinus()
Definition: G4PionMinus.cc:97
static G4PionPlus * PionPlus()
Definition: G4PionPlus.cc:97
G4bool pion(G4int ityp)

References G4VPhysicsConstructor::AddBuilder(), G4HadronicParameters::ApplyFactorXS(), G4PhysListUtil::FindInelasticProcess(), GeV, G4HadronicParameters::Instance(), G4HadronicProcess::MultiplyCrossSectionBy(), pi, G4InuclParticleNames::pion(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4HadronPhysicsFTFP_BERT::QuasiElastic, G4INCLXXPionBuilder::SetMinEnergy(), withFTFP, and G4HadronicParameters::XSFactorPionInelastic().

◆ Proton()

void G4HadronPhysicsINCLXX::Proton ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 170 of file G4HadronPhysicsINCLXX.cc.

171{
173 G4bool useFactorXS = param->ApplyFactorXS();
174
175 auto pro =new G4ProtonBuilder;
177 G4PhysicsBuilderInterface* string = nullptr;
178 if(withFTFP) {
179 string = new G4FTFPProtonBuilder(QuasiElastic);
180 } else {
181 string = new G4QGSPProtonBuilder(QuasiElastic);
182 }
183 string->SetMinEnergy(15.*GeV);
184 AddBuilder(string);
185 pro->RegisterMe(string);
186
187 auto inclxxp = new G4INCLXXProtonBuilder;
188 AddBuilder(inclxxp);
189 inclxxp->SetMinEnergy(1.0*MeV);
190 inclxxp->SetMaxEnergy(20.0*GeV);
191 pro->RegisterMe(inclxxp);
192 pro->Build();
193
196 if(nullptr != inel) {
197 if( useFactorXS ) inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
198 }
199}
static G4Proton * Proton()
Definition: G4Proton.cc:92

References G4VPhysicsConstructor::AddBuilder(), G4HadronicParameters::ApplyFactorXS(), G4PhysListUtil::FindInelasticProcess(), GeV, G4HadronicParameters::Instance(), MeV, G4HadronicProcess::MultiplyCrossSectionBy(), G4InuclParticleNames::pro, G4Proton::Proton(), G4InuclParticleNames::proton, G4HadronPhysicsFTFP_BERT::QuasiElastic, withFTFP, and G4HadronicParameters::XSFactorNucleonInelastic().

◆ RegisterProcess()

G4bool G4VPhysicsConstructor::RegisterProcess ( G4VProcess process,
G4ParticleDefinition particle 
)
inlineprotectedinherited

◆ SetPhysicsName()

void G4VPhysicsConstructor::SetPhysicsName ( const G4String name = "")
inlineinherited

◆ SetPhysicsType()

void G4VPhysicsConstructor::SetPhysicsType ( G4int  val)
inlineinherited

Definition at line 196 of file G4VPhysicsConstructor.hh.

197{
198 if(val > 0) { typePhysics = val; }
199}

References G4VPhysicsConstructor::typePhysics.

Referenced by G4DecayPhysics::G4DecayPhysics(), G4EmDNAPhysics::G4EmDNAPhysics(), G4EmDNAPhysics_option1::G4EmDNAPhysics_option1(), G4EmDNAPhysics_option2::G4EmDNAPhysics_option2(), G4EmDNAPhysics_option3::G4EmDNAPhysics_option3(), G4EmDNAPhysics_option4::G4EmDNAPhysics_option4(), G4EmDNAPhysics_option5::G4EmDNAPhysics_option5(), G4EmDNAPhysics_option6::G4EmDNAPhysics_option6(), G4EmDNAPhysics_option7::G4EmDNAPhysics_option7(), G4EmDNAPhysics_option8::G4EmDNAPhysics_option8(), G4EmDNAPhysics_stationary_option2::G4EmDNAPhysics_stationary_option2(), G4EmDNAPhysics_stationary_option4::G4EmDNAPhysics_stationary_option4(), G4EmDNAPhysics_stationary_option6::G4EmDNAPhysics_stationary_option6(), G4EmExtraPhysics::G4EmExtraPhysics(), G4EmLivermorePhysics::G4EmLivermorePhysics(), G4EmLowEPPhysics::G4EmLowEPPhysics(), G4EmPenelopePhysics::G4EmPenelopePhysics(), G4EmStandardPhysics::G4EmStandardPhysics(), G4EmStandardPhysics_option1::G4EmStandardPhysics_option1(), G4EmStandardPhysics_option2::G4EmStandardPhysics_option2(), G4EmStandardPhysics_option3::G4EmStandardPhysics_option3(), G4EmStandardPhysics_option4::G4EmStandardPhysics_option4(), G4EmStandardPhysicsGS::G4EmStandardPhysicsGS(), G4EmStandardPhysicsSS::G4EmStandardPhysicsSS(), G4EmStandardPhysicsWVI::G4EmStandardPhysicsWVI(), G4HadronElasticPhysics::G4HadronElasticPhysics(), G4HadronInelasticQBBC::G4HadronInelasticQBBC(), G4HadronPhysicsFTFP_BERT::G4HadronPhysicsFTFP_BERT(), G4HadronPhysicsQGSP_BERT::G4HadronPhysicsQGSP_BERT(), G4HadronPhysicsQGSP_BIC::G4HadronPhysicsQGSP_BIC(), G4IonINCLXXPhysics::G4IonINCLXXPhysics(), G4IonPhysics::G4IonPhysics(), G4IonPhysicsPHP::G4IonPhysicsPHP(), G4IonQMDPhysics::G4IonQMDPhysics(), G4NeutronTrackingCut::G4NeutronTrackingCut(), G4StepLimiterPhysics::G4StepLimiterPhysics(), G4StoppingPhysics::G4StoppingPhysics(), and G4StoppingPhysicsFritiofWithBinaryCascade::G4StoppingPhysicsFritiofWithBinaryCascade().

◆ SetQuasiElastic()

void G4HadronPhysicsINCLXX::SetQuasiElastic ( G4bool  value)
inline

Definition at line 71 of file G4HadronPhysicsINCLXX.hh.

71{QuasiElastic = value;};

References G4HadronPhysicsFTFP_BERT::QuasiElastic.

◆ SetVerboseLevel()

void G4VPhysicsConstructor::SetVerboseLevel ( G4int  value)
inlineinherited

◆ TerminateWorker()

void G4VPhysicsConstructor::TerminateWorker ( )
virtualinherited

Definition at line 105 of file G4VPhysicsConstructor.cc.

106{
107 if(subInstanceManager.offset[g4vpcInstanceID]._builders != nullptr)
108 {
109 std::for_each(subInstanceManager.offset[g4vpcInstanceID]._builders->begin(),
110 subInstanceManager.offset[g4vpcInstanceID]._builders->end(),
111 [](PhysicsBuilder_V::value_type bld) { delete bld; });
112 subInstanceManager.offset[g4vpcInstanceID]._builders->clear();
113 }
114}

References G4VPhysicsConstructor::g4vpcInstanceID, G4VUPLSplitter< T >::offset, and G4VPhysicsConstructor::subInstanceManager.

Referenced by G4VPhysicsConstructor::~G4VPhysicsConstructor().

Field Documentation

◆ g4vpcInstanceID

G4int G4VPhysicsConstructor::g4vpcInstanceID = 0
protectedinherited

◆ maxBERT_kaon

G4double G4HadronPhysicsFTFP_BERT::maxBERT_kaon
protectedinherited

◆ maxBERT_neutron

G4double G4HadronPhysicsFTFP_BERT::maxBERT_neutron
protectedinherited

◆ maxBERT_pion

G4double G4HadronPhysicsFTFP_BERT::maxBERT_pion
protectedinherited

◆ maxBERT_proton

G4double G4HadronPhysicsFTFP_BERT::maxBERT_proton
protectedinherited

◆ minBERT_neutron

G4double G4HadronPhysicsFTFP_BERT::minBERT_neutron
protectedinherited

◆ minBERT_proton

G4double G4HadronPhysicsFTFP_BERT::minBERT_proton
protectedinherited

◆ minFTFP_kaon

G4double G4HadronPhysicsFTFP_BERT::minFTFP_kaon
protectedinherited

◆ minFTFP_neutron

G4double G4HadronPhysicsFTFP_BERT::minFTFP_neutron
protectedinherited

◆ minFTFP_pion

G4double G4HadronPhysicsFTFP_BERT::minFTFP_pion
protectedinherited

◆ minFTFP_proton

G4double G4HadronPhysicsFTFP_BERT::minFTFP_proton
protectedinherited

◆ namePhysics

G4String G4VPhysicsConstructor::namePhysics = ""
protectedinherited

◆ QuasiElastic

G4bool G4HadronPhysicsFTFP_BERT::QuasiElastic
protectedinherited

◆ subInstanceManager

G4VPCManager G4VPhysicsConstructor::subInstanceManager
staticprotectedinherited

◆ theParticleTable

G4ParticleTable* G4VPhysicsConstructor::theParticleTable = nullptr
protectedinherited

◆ typePhysics

G4int G4VPhysicsConstructor::typePhysics = 0
protectedinherited

◆ verboseLevel

G4int G4VPhysicsConstructor::verboseLevel = 0
protectedinherited

◆ withFTFP

G4bool G4HadronPhysicsINCLXX::withFTFP
private

Definition at line 86 of file G4HadronPhysicsINCLXX.hh.

Referenced by G4HadronPhysicsINCLXX(), Kaon(), Neutron(), Others(), Pion(), and Proton().

◆ withNeutronHP

G4bool G4HadronPhysicsINCLXX::withNeutronHP
private

Definition at line 85 of file G4HadronPhysicsINCLXX.hh.

Referenced by G4HadronPhysicsINCLXX(), and Neutron().


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