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

#include <G4VPhysicsConstructor.hh>

+ Inheritance diagram for G4VPhysicsConstructor:

Public Member Functions

 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
virtual void ConstructParticle ()=0
 
virtual void ConstructProcess ()=0
 
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
 

Static Public Member Functions

static const G4VPCManagerGetSubInstanceManager ()
 

Protected Types

using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 

Protected Member Functions

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

Protected Attributes

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

Static Protected Attributes

static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 108 of file G4VPhysicsConstructor.hh.

Member Typedef Documentation

◆ PhysicsBuilder_V

Constructor & Destructor Documentation

◆ G4VPhysicsConstructor() [1/2]

G4VPhysicsConstructor::G4VPhysicsConstructor ( const G4String & name = "")

◆ G4VPhysicsConstructor() [2/2]

G4VPhysicsConstructor::G4VPhysicsConstructor ( const G4String & name,
G4int physics_type )

◆ ~G4VPhysicsConstructor()

G4VPhysicsConstructor::~G4VPhysicsConstructor ( )
virtual

Definition at line 65 of file G4VPhysicsConstructor.cc.

66{
67 // Master/Sequential needs to cleanup too
69}

Member Function Documentation

◆ AddBuilder()

◆ ConstructParticle()

◆ ConstructProcess()

virtual void G4VPhysicsConstructor::ConstructProcess ( )
pure virtual

Implemented in G4ChargeExchangePhysics, G4DecayPhysics, G4EmDNAChemistry, G4EmDNAChemistry_option1, G4EmDNAChemistry_option2, G4EmDNAChemistry_option3, G4EmDNAPhysics, G4EmDNAPhysics_option2, G4EmDNAPhysics_option4, G4EmDNAPhysics_option6, G4EmDNAPhysics_option8, G4EmDNAPhysicsActivator, G4EmExtraPhysics, G4EmLivermorePhysics, G4EmLowEPPhysics, G4EmPenelopePhysics, G4EmStandardPhysics, G4EmStandardPhysics_option1, G4EmStandardPhysics_option2, G4EmStandardPhysics_option3, G4EmStandardPhysics_option4, G4EmStandardPhysicsGS, G4EmStandardPhysicsSS, G4EmStandardPhysicsWVI, G4FastSimulationPhysics, G4GenericBiasingPhysics, G4HadronDElasticPhysics, G4HadronElasticPhysics, G4HadronElasticPhysicsHP, G4HadronElasticPhysicsHPT, G4HadronElasticPhysicsLEND, G4HadronElasticPhysicsPHP, G4HadronElasticPhysicsVI, G4HadronHElasticPhysics, G4HadronInelasticQBBC, G4HadronInelasticQBBC_ABLA, G4HadronPhysicsFTFP_BERT, G4HadronPhysicsFTFP_BERT_ATL, G4HadronPhysicsFTFQGSP_BERT, G4HadronPhysicsINCLXX, G4HadronPhysicsNuBeam, G4HadronPhysicsQGSP_BERT, G4HadronPhysicsQGSP_BIC, G4HadronPhysicsShielding, G4ImportanceBiasing, G4IonElasticPhysics, G4IonINCLXXPhysics, G4IonPhysics, G4IonPhysicsPHP, G4IonQMDPhysics, G4LightIonQMDPhysics, G4MuonicAtomDecayPhysics, G4NeutrinoPhysics, G4NeutronCrossSectionXS, G4NeutronTrackingCut, G4OpticalPhysics, G4ParallelWorldPhysics, G4RadioactiveDecayPhysics, G4SpinDecayPhysics, G4StepLimiterPhysics, G4StoppingPhysics, G4StoppingPhysicsFritiofWithBinaryCascade, G4StoppingPhysicsWithINCLXX, G4ThermalNeutrons, G4UnknownDecayPhysics, and G4WeightWindowBiasing.

◆ GetBuilders()

G4VPhysicsConstructor::PhysicsBuilder_V G4VPhysicsConstructor::GetBuilders ( ) const
protected

Definition at line 78 of file G4VPhysicsConstructor.cc.

79{
80 const auto& tls = *((subInstanceManager.offset[g4vpcInstanceID])._builders);
81 PhysicsBuilder_V copy(tls.size());
82 G4int i = 0;
83 for (const auto& el : tls) {
84 copy[i++] = el;
85 }
86 return copy;
87}
int G4int
Definition G4Types.hh:85
G4VPCData::PhysicsBuilders_V PhysicsBuilder_V
void copy(G4double dst[], const G4double src[], std::size_t size=G4FieldTrack::ncompSVEC)

◆ GetInstanceID()

G4int G4VPhysicsConstructor::GetInstanceID ( ) const
inline

◆ GetParticleIterator()

◆ GetPhysicsName()

const G4String & G4VPhysicsConstructor::GetPhysicsName ( ) const
inline

Definition at line 188 of file G4VPhysicsConstructor.hh.

189{
190 return namePhysics;
191}

Referenced by G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_option2::ConstructProcess(), G4EmDNAPhysics_option4::ConstructProcess(), G4EmDNAPhysics_option6::ConstructProcess(), G4EmDNAPhysics_option8::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(), G4HadronElasticPhysicsHPT::ConstructProcess(), G4ThermalNeutrons::ConstructProcess(), G4HadronPhysicsFTFP_BERT::DumpBanner(), G4HadronPhysicsQGSP_BERT::DumpBanner(), G4HadronDElasticPhysics::G4HadronDElasticPhysics(), G4HadronElasticPhysics::G4HadronElasticPhysics(), G4HadronElasticPhysicsHP::G4HadronElasticPhysicsHP(), G4HadronElasticPhysicsHPT::G4HadronElasticPhysicsHPT(), G4HadronElasticPhysicsLEND::G4HadronElasticPhysicsLEND(), G4HadronElasticPhysicsPHP::G4HadronElasticPhysicsPHP(), G4HadronElasticPhysicsVI::G4HadronElasticPhysicsVI(), G4HadronElasticPhysicsXS::G4HadronElasticPhysicsXS(), G4HadronHElasticPhysics::G4HadronHElasticPhysics(), G4IonElasticPhysics::G4IonElasticPhysics(), G4VModularPhysicsList::RegisterPhysics(), and G4VModularPhysicsList::ReplacePhysics().

◆ GetPhysicsType()

G4int G4VPhysicsConstructor::GetPhysicsType ( ) const
inline

◆ GetSubInstanceManager()

const G4VPCManager & G4VPhysicsConstructor::GetSubInstanceManager ( )
inlinestatic

Definition at line 211 of file G4VPhysicsConstructor.hh.

212{
213 return subInstanceManager;
214}

Referenced by G4PhysicsListWorkspace::G4PhysicsListWorkspace().

◆ GetVerboseLevel()

◆ RegisterProcess()

G4bool G4VPhysicsConstructor::RegisterProcess ( G4VProcess * process,
G4ParticleDefinition * particle )
inlineprotected

Definition at line 205 of file G4VPhysicsConstructor.hh.

207{
209}
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4PhysicsListHelper * GetPhysicsListHelper()

Referenced by G4EmDNAChemistry_option2::ConstructProcess(), G4MuonicAtomDecayPhysics::ConstructProcess(), and G4RadioactiveDecayPhysics::ConstructProcess().

◆ SetPhysicsName()

void G4VPhysicsConstructor::SetPhysicsName ( const G4String & name = "")
inline

Definition at line 183 of file G4VPhysicsConstructor.hh.

184{
186}
const char * name(G4int ptype)

◆ SetPhysicsType()

void G4VPhysicsConstructor::SetPhysicsType ( G4int val)
inline

Definition at line 193 of file G4VPhysicsConstructor.hh.

194{
195 if (val > 0) {
196 typePhysics = val;
197 }
198}

Referenced by G4DecayPhysics::G4DecayPhysics(), G4EmDNAPhysics::G4EmDNAPhysics(), 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(), G4HadronInelasticQBBC_ABLA::G4HadronInelasticQBBC_ABLA(), G4HadronPhysicsFTFP_BERT::G4HadronPhysicsFTFP_BERT(), G4HadronPhysicsQGSP_BERT::G4HadronPhysicsQGSP_BERT(), G4HadronPhysicsQGSP_BIC::G4HadronPhysicsQGSP_BIC(), G4IonINCLXXPhysics::G4IonINCLXXPhysics(), G4IonPhysics::G4IonPhysics(), G4IonPhysicsPHP::G4IonPhysicsPHP(), G4IonQMDPhysics::G4IonQMDPhysics(), G4LightIonQMDPhysics::G4LightIonQMDPhysics(), G4NeutronTrackingCut::G4NeutronTrackingCut(), G4StepLimiterPhysics::G4StepLimiterPhysics(), G4StoppingPhysics::G4StoppingPhysics(), G4StoppingPhysicsFritiofWithBinaryCascade::G4StoppingPhysicsFritiofWithBinaryCascade(), and G4StoppingPhysicsWithINCLXX::G4StoppingPhysicsWithINCLXX().

◆ SetVerboseLevel()

◆ TerminateWorker()

void G4VPhysicsConstructor::TerminateWorker ( )
virtual

Definition at line 96 of file G4VPhysicsConstructor.cc.

97{
98 if (subInstanceManager.offset[g4vpcInstanceID]._builders != nullptr) {
99 std::for_each(subInstanceManager.offset[g4vpcInstanceID]._builders->begin(),
100 subInstanceManager.offset[g4vpcInstanceID]._builders->end(),
101 [](PhysicsBuilder_V::value_type bld) { delete bld; });
102 subInstanceManager.offset[g4vpcInstanceID]._builders->clear();
103 }
104}

Referenced by ~G4VPhysicsConstructor().

Member Data Documentation

◆ g4vpcInstanceID

G4int G4VPhysicsConstructor::g4vpcInstanceID = 0
protected

◆ namePhysics

G4String G4VPhysicsConstructor::namePhysics = ""
protected

◆ subInstanceManager

G4VPCManager G4VPhysicsConstructor::subInstanceManager
staticprotected

◆ theParticleTable

G4ParticleTable* G4VPhysicsConstructor::theParticleTable = nullptr
protected

Definition at line 166 of file G4VPhysicsConstructor.hh.

Referenced by G4VPhysicsConstructor(), and G4VPhysicsConstructor().

◆ typePhysics

G4int G4VPhysicsConstructor::typePhysics = 0
protected

Definition at line 164 of file G4VPhysicsConstructor.hh.

Referenced by G4VPhysicsConstructor(), GetPhysicsType(), and SetPhysicsType().

◆ verboseLevel


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