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

#include <G4EmStandardPhysics_option4.hh>

Inheritance diagram for G4EmStandardPhysics_option4:
G4VPhysicsConstructor

Public Member Functions

void ConstructParticle () override
 
void ConstructProcess () override
 
 G4EmStandardPhysics_option4 (G4int ver=1, const G4String &name="")
 
G4int GetInstanceID () const
 
const G4StringGetPhysicsName () const
 
G4int GetPhysicsType () const
 
G4int GetVerboseLevel () const
 
void SetPhysicsName (const G4String &="")
 
void SetPhysicsType (G4int)
 
void SetVerboseLevel (G4int value)
 
virtual void TerminateWorker ()
 
 ~G4EmStandardPhysics_option4 () override
 

Static Public Member Functions

static const G4VPCManagerGetSubInstanceManager ()
 

Protected Types

using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 

Protected Member Functions

void AddBuilder (G4PhysicsBuilderInterface *bld)
 
PhysicsBuilder_V GetBuilders () const
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 

Protected Attributes

G4int g4vpcInstanceID = 0
 
G4String namePhysics = ""
 
G4ParticleTabletheParticleTable = nullptr
 
G4int typePhysics = 0
 
G4int verboseLevel = 0
 

Static Protected Attributes

static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 52 of file G4EmStandardPhysics_option4.hh.

Member Typedef Documentation

◆ PhysicsBuilder_V

Definition at line 149 of file G4VPhysicsConstructor.hh.

Constructor & Destructor Documentation

◆ G4EmStandardPhysics_option4()

G4EmStandardPhysics_option4::G4EmStandardPhysics_option4 ( G4int  ver = 1,
const G4String name = "" 
)
explicit

Definition at line 108 of file G4EmStandardPhysics_option4.cc.

110 : G4VPhysicsConstructor("G4EmStandard_opt4")
111{
112 SetVerboseLevel(ver);
114 param->SetDefaults();
115 param->SetVerbose(ver);
116 param->SetMinEnergy(100*CLHEP::eV);
118 param->SetNumberOfBinsPerDecade(20);
120 param->SetStepFunction(0.2, 10*CLHEP::um);
121 param->SetStepFunctionMuHad(0.1, 50*CLHEP::um);
122 param->SetStepFunctionLightIons(0.1, 20*CLHEP::um);
123 param->SetStepFunctionIons(0.1, 1*CLHEP::um);
124 param->SetUseMottCorrection(true); // use Mott-correction for e-/e+ msc gs
125 param->SetMscStepLimitType(fUseSafetyPlus); // for e-/e+ msc gs
126 param->SetMscSkin(3); // error-free stepping for e-/e+ msc gs
127 param->SetMscRangeFactor(0.08); // error-free stepping for e-/e+ msc gs
128 param->SetMuHadLateralDisplacement(true);
129 param->SetFluo(true);
130 param->SetUseICRU90Data(true);
133}
@ bElectromagnetic
@ fUseSafetyPlus
void SetMinEnergy(G4double val)
void SetLowestElectronEnergy(G4double val)
void SetStepFunctionLightIons(G4double v1, G4double v2)
void SetNumberOfBinsPerDecade(G4int val)
static G4EmParameters * Instance()
void SetMuHadLateralDisplacement(G4bool val)
void ActivateAngularGeneratorForIonisation(G4bool val)
void SetStepFunction(G4double v1, G4double v2)
void SetFluo(G4bool val)
void SetStepFunctionMuHad(G4double v1, G4double v2)
void SetVerbose(G4int val)
void SetMscSkin(G4double val)
void SetMaxNIELEnergy(G4double val)
void SetStepFunctionIons(G4double v1, G4double v2)
void SetMscStepLimitType(G4MscStepLimitType val)
void SetUseICRU90Data(G4bool val)
void SetUseMottCorrection(G4bool val)
void SetMscRangeFactor(G4double val)
G4VPhysicsConstructor(const G4String &="")
void SetVerboseLevel(G4int value)
static constexpr double um
Definition: SystemOfUnits.h:94
static constexpr double MeV
static constexpr double eV

References G4EmParameters::ActivateAngularGeneratorForIonisation(), bElectromagnetic, CLHEP::eV, fUseSafetyPlus, G4EmParameters::Instance(), CLHEP::MeV, G4EmParameters::SetDefaults(), G4EmParameters::SetFluo(), G4EmParameters::SetLowestElectronEnergy(), G4EmParameters::SetMaxNIELEnergy(), G4EmParameters::SetMinEnergy(), G4EmParameters::SetMscRangeFactor(), G4EmParameters::SetMscSkin(), G4EmParameters::SetMscStepLimitType(), G4EmParameters::SetMuHadLateralDisplacement(), G4EmParameters::SetNumberOfBinsPerDecade(), G4VPhysicsConstructor::SetPhysicsType(), G4EmParameters::SetStepFunction(), G4EmParameters::SetStepFunctionIons(), G4EmParameters::SetStepFunctionLightIons(), G4EmParameters::SetStepFunctionMuHad(), G4EmParameters::SetUseICRU90Data(), G4EmParameters::SetUseMottCorrection(), G4EmParameters::SetVerbose(), G4VPhysicsConstructor::SetVerboseLevel(), and CLHEP::um.

◆ ~G4EmStandardPhysics_option4()

G4EmStandardPhysics_option4::~G4EmStandardPhysics_option4 ( )
override

Definition at line 137 of file G4EmStandardPhysics_option4.cc.

138{}

Member Function Documentation

◆ AddBuilder()

void G4VPhysicsConstructor::AddBuilder ( G4PhysicsBuilderInterface bld)
protectedinherited

Definition at line 99 of file G4VPhysicsConstructor.cc.

100{
101 (subInstanceManager.offset[g4vpcInstanceID])._builders->push_back(bld);
102}
static G4RUN_DLL G4VPCManager subInstanceManager
G4RUN_DLL G4ThreadLocalStatic T * offset

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

Referenced by G4HadronPhysicsFTFP_BERT::Kaon(), G4HadronPhysicsFTF_BIC::Kaon(), G4HadronPhysicsINCLXX::Kaon(), G4HadronPhysicsFTFP_BERT::Neutron(), G4HadronPhysicsQGSP_BERT::Neutron(), G4HadronPhysicsQGSP_BIC::Neutron(), G4HadronPhysicsFTF_BIC::Neutron(), G4HadronPhysicsFTFP_BERT_HP::Neutron(), G4HadronPhysicsINCLXX::Neutron(), G4HadronPhysicsQGS_BIC::Neutron(), G4HadronPhysicsQGSP_BERT_HP::Neutron(), G4HadronPhysicsQGSP_BIC_HP::Neutron(), G4HadronPhysicsShielding::Neutron(), G4HadronPhysicsFTFP_BERT::Pion(), G4HadronPhysicsQGSP_BERT::Pion(), G4HadronPhysicsQGSP_BIC::Pion(), G4HadronPhysicsFTF_BIC::Pion(), G4HadronPhysicsINCLXX::Pion(), G4HadronPhysicsQGS_BIC::Pion(), G4HadronPhysicsFTFP_BERT::Proton(), G4HadronPhysicsQGSP_BERT::Proton(), G4HadronPhysicsQGSP_BIC::Proton(), G4HadronPhysicsFTF_BIC::Proton(), G4HadronPhysicsINCLXX::Proton(), G4HadronPhysicsNuBeam::Proton(), G4HadronPhysicsQGS_BIC::Proton(), and G4HadronPhysicsQGSP_BIC_AllHP::Proton().

◆ ConstructParticle()

void G4EmStandardPhysics_option4::ConstructParticle ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 142 of file G4EmStandardPhysics_option4.cc.

143{
144 // minimal set of particles for EM physics
146}
static void ConstructMinimalEmSet()
Definition: G4EmBuilder.cc:347

References G4EmBuilder::ConstructMinimalEmSet().

◆ ConstructProcess()

void G4EmStandardPhysics_option4::ConstructProcess ( )
overridevirtual

Implements G4VPhysicsConstructor.

Definition at line 150 of file G4EmStandardPhysics_option4.cc.

151{
152 if(verboseLevel > 1) {
153 G4cout << "### " << GetPhysicsName() << " Construct Processes " << G4endl;
154 }
156
159
160 // processes used by several particles
161 G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
162
163 // nuclear stopping is enabled if the energy limit above zero
164 G4double nielEnergyLimit = param->MaxNIELEnergy();
165 G4NuclearStopping* pnuc = nullptr;
166 if(nielEnergyLimit > 0.0) {
167 pnuc = new G4NuclearStopping();
168 pnuc->SetMaxKinEnergy(nielEnergyLimit);
169 }
170
171 // high energy limit for e+- scattering models and bremsstrahlung
172 G4double highEnergyLimit = param->MscEnergyLimit();
173
174 // Add gamma EM Processes
176 G4bool polar = param->EnablePolarisation();
177
178 // Photoelectric
181 pe->SetEmModel(peModel);
182 if(polar) {
184 }
185
186 // Compton scattering
189 G4VEmModel* cModel = nullptr;
190 if(polar) {
191 cModel = new G4LowEPPolarizedComptonModel();
192 } else {
193 cModel = new G4LowEPComptonModel();
194 }
195 cModel->SetHighEnergyLimit(20*CLHEP::MeV);
196 cs->AddEmModel(0, cModel);
197
198 // Gamma conversion
200 G4VEmModel* conv = new G4BetheHeitler5DModel();
201 gc->SetEmModel(conv);
202
203 // default Rayleigh scattering is Livermore
205 if(polar) {
207 }
208
209 if(param->GeneralProcessActive()) {
211 sp->AddEmProcess(pe);
212 sp->AddEmProcess(cs);
213 sp->AddEmProcess(gc);
214 sp->AddEmProcess(rl);
216 ph->RegisterProcess(sp, particle);
217 } else {
218 ph->RegisterProcess(pe, particle);
219 ph->RegisterProcess(cs, particle);
220 ph->RegisterProcess(gc, particle);
221 ph->RegisterProcess(rl, particle);
222 }
223
224 // e-
225 particle = G4Electron::Electron();
226
227 // multiple scattering
229 // e-/e+ msc gs with Mott-correction
230 // (Mott-correction is set through G4EmParameters)
233 msc1->SetHighEnergyLimit(highEnergyLimit);
234 msc2->SetLowEnergyLimit(highEnergyLimit);
235 msc->SetEmModel(msc1);
236 msc->SetEmModel(msc2);
237
240 ss->SetEmModel(ssm);
241 ss->SetMinKinEnergy(highEnergyLimit);
242 ssm->SetLowEnergyLimit(highEnergyLimit);
243 ssm->SetActivationLowEnergyLimit(highEnergyLimit);
244
245 // ionisation
246 G4eIonisation* eioni = new G4eIonisation();
247 G4VEmModel* theIoniLiv = new G4LivermoreIonisationModel();
248 eioni->SetFluctModel(new G4UrbanFluctuation());
249 theIoniLiv->SetHighEnergyLimit(0.1*CLHEP::MeV);
250 eioni->AddEmModel(0, theIoniLiv, new G4UniversalFluctuation() );
251
252 // bremsstrahlung
258 brem->SetEmModel(br1);
259 brem->SetEmModel(br2);
261
263
264 // register processes
265 ph->RegisterProcess(msc, particle);
266 ph->RegisterProcess(eioni, particle);
267 ph->RegisterProcess(brem, particle);
268 ph->RegisterProcess(ee, particle);
269 ph->RegisterProcess(ss, particle);
270
271 // e+
272 particle = G4Positron::Positron();
273
274 // multiple scattering
275 msc = new G4eMultipleScattering();
276 // e-/e+ msc gs with Mott-correction
277 // (Mott-correction is set through G4EmParameters)
278 msc1 = new G4GoudsmitSaundersonMscModel();
279 msc2 = new G4WentzelVIModel();
280 msc1->SetHighEnergyLimit(highEnergyLimit);
281 msc2->SetLowEnergyLimit(highEnergyLimit);
282 msc->SetEmModel(msc1);
283 msc->SetEmModel(msc2);
284
285 ssm = new G4eCoulombScatteringModel();
286 ss = new G4CoulombScattering();
287 ss->SetEmModel(ssm);
288 ss->SetMinKinEnergy(highEnergyLimit);
289 ssm->SetLowEnergyLimit(highEnergyLimit);
290 ssm->SetActivationLowEnergyLimit(highEnergyLimit);
291
292 // ionisation
293 eioni = new G4eIonisation();
294 eioni->SetFluctModel(new G4UrbanFluctuation());
297 eioni->AddEmModel(0, pen, new G4UniversalFluctuation());
298
299 // bremsstrahlung
300 brem = new G4eBremsstrahlung();
301 br1 = new G4SeltzerBergerModel();
302 br2 = new G4eBremsstrahlungRelModel();
305 brem->SetEmModel(br1);
306 brem->SetEmModel(br2);
308
309 // register processes
310 ph->RegisterProcess(msc, particle);
311 ph->RegisterProcess(eioni, particle);
312 ph->RegisterProcess(brem, particle);
313 ph->RegisterProcess(ee, particle);
314 ph->RegisterProcess(new G4eplusAnnihilation(), particle);
315 ph->RegisterProcess(ss, particle);
316
317 // generic ion
318 particle = G4GenericIon::GenericIon();
319 G4ionIonisation* ionIoni = new G4ionIonisation();
321 ph->RegisterProcess(hmsc, particle);
322 ph->RegisterProcess(ionIoni, particle);
323 if(nullptr != pnuc) { ph->RegisterProcess(pnuc, particle); }
324
325 // muons, hadrons, ions
327
328 // extra configuration
330}
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static G4Electron * Electron()
Definition: G4Electron.cc:93
static void ConstructCharged(G4hMultipleScattering *hmsc, G4NuclearStopping *nucStopping, G4bool isWVI=true)
Definition: G4EmBuilder.cc:219
static void PrepareEMPhysics()
Definition: G4EmBuilder.cc:375
G4bool EnablePolarisation() const
G4double MaxNIELEnergy() const
G4double MscEnergyLimit() const
G4bool GeneralProcessActive() const
static G4Gamma * Gamma()
Definition: G4Gamma.cc:85
static G4GenericIon * GenericIon()
Definition: G4GenericIon.cc:92
static G4LossTableManager * Instance()
void SetGammaGeneralProcess(G4VEmProcess *)
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4PhysicsListHelper * GetPhysicsListHelper()
static G4Positron * Positron()
Definition: G4Positron.cc:93
void SetHighEnergyLimit(G4double)
Definition: G4VEmModel.hh:767
void SetActivationLowEnergyLimit(G4double)
Definition: G4VEmModel.hh:788
void SetLowEnergyLimit(G4double)
Definition: G4VEmModel.hh:774
void SetAngularDistribution(G4VEmAngularDistribution *)
Definition: G4VEmModel.hh:628
void SetMinKinEnergy(G4double e)
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=nullptr)
void SetEmModel(G4VEmModel *, G4int index=0)
void SetMaxKinEnergy(G4double e)
void AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *fluc=nullptr, const G4Region *region=nullptr)
void SetFluctModel(G4VEmFluctuationModel *)
void SetEmModel(G4VEmModel *, G4int index=0)
void SetEmModel(G4VMscModel *, G4int idx=0)
const G4String & GetPhysicsName() const
static constexpr double GeV

References G4VEmProcess::AddEmModel(), G4VEnergyLossProcess::AddEmModel(), G4EmBuilder::ConstructCharged(), G4Electron::Electron(), G4EmParameters::EnablePolarisation(), G4cout, G4endl, G4Gamma::Gamma(), G4EmParameters::GeneralProcessActive(), G4GenericIon::GenericIon(), G4PhysicsListHelper::GetPhysicsListHelper(), G4VPhysicsConstructor::GetPhysicsName(), CLHEP::GeV, G4EmParameters::Instance(), G4LossTableManager::Instance(), G4EmParameters::MaxNIELEnergy(), CLHEP::MeV, G4EmParameters::MscEnergyLimit(), G4Positron::Positron(), G4EmBuilder::PrepareEMPhysics(), G4PhysicsListHelper::RegisterProcess(), G4VEmModel::SetActivationLowEnergyLimit(), G4VEmModel::SetAngularDistribution(), G4VEmProcess::SetEmModel(), G4VEnergyLossProcess::SetEmModel(), G4VMultipleScattering::SetEmModel(), G4VEnergyLossProcess::SetFluctModel(), G4LossTableManager::SetGammaGeneralProcess(), G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetLowEnergyLimit(), G4VEmProcess::SetMaxKinEnergy(), G4VEmProcess::SetMinKinEnergy(), G4InuclParticleNames::sp, and G4VPhysicsConstructor::verboseLevel.

◆ 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(), 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

◆ RegisterProcess()

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

◆ SetPhysicsName()

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

Definition at line 186 of file G4VPhysicsConstructor.hh.

187{
189}
const char * name(G4int ptype)

References G4InuclParticleNames::name(), and G4VPhysicsConstructor::namePhysics.

Referenced by export_G4VPhysicsConstructor().

◆ 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(), 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().

◆ 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

◆ namePhysics

G4String G4VPhysicsConstructor::namePhysics = ""
protectedinherited

◆ subInstanceManager

G4VPCManager G4VPhysicsConstructor::subInstanceManager
staticprotectedinherited

◆ theParticleTable

G4ParticleTable* G4VPhysicsConstructor::theParticleTable = nullptr
protectedinherited

◆ typePhysics

G4int G4VPhysicsConstructor::typePhysics = 0
protectedinherited

◆ verboseLevel

G4int G4VPhysicsConstructor::verboseLevel = 0
protectedinherited

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