Geant4 10.7.0
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
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 

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
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 

Static Protected Attributes

static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 127 of file G4VPhysicsConstructor.hh.

Member Typedef Documentation

◆ PhysicsBuilder_V

Constructor & Destructor Documentation

◆ G4VPhysicsConstructor() [1/2]

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

Definition at line 48 of file G4VPhysicsConstructor.cc.

49 : verboseLevel(0)
50 , namePhysics(name)
51 , typePhysics(0)
52{
54 // pointer to the particle table
56 // aParticleIterator = theParticleTable->GetIterator();
57
58 // PhysicsListHelper
59 // aPLHelper = G4PhysicsListHelper::GetPhysicsListHelper();
60
61 // Harmless call (setting a default value) needed to build the
62 // G4HadronicParameters instance before run initialization.
65}
static G4HadronicParameters * Instance()
void SetVerboseLevel(const G4int val)
static G4ParticleTable * GetParticleTable()
static G4RUN_DLL G4VPCManager subInstanceManager
G4ParticleTable * theParticleTable
G4int CreateSubInstance()

◆ G4VPhysicsConstructor() [2/2]

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

Definition at line 67 of file G4VPhysicsConstructor.cc.

68 : verboseLevel(0)
69 , namePhysics(name)
70 , typePhysics(type)
71{
73 // pointer to the particle table
75 // aParticleIterator = theParticleTable->GetIterator();
76
77 if(type < 0)
78 typePhysics = 0;
79
80 // PhysicsListHelper
81 // aPLHelper = G4PhysicsListHelper::GetPhysicsListHelper();
82
83 // Harmless call (setting a default value) needed to build the
84 // G4HadronicParameters instance before run initialization.
87}

◆ ~G4VPhysicsConstructor()

G4VPhysicsConstructor::~G4VPhysicsConstructor ( )
virtual

Definition at line 89 of file G4VPhysicsConstructor.cc.

90{
91 // Master/Sequential needs to cleanup too
93}

Member Function Documentation

◆ AddBuilder()

◆ ConstructParticle()

virtual void G4VPhysicsConstructor::ConstructParticle ( )
pure virtual

◆ ConstructProcess()

virtual void G4VPhysicsConstructor::ConstructProcess ( )
pure virtual

Implemented in G4NeutronCrossSectionXS, G4EmDNAChemistry, G4EmDNAChemistry_option1, G4EmDNAChemistry_option3, G4EmDNAPhysics, G4EmDNAPhysics_option1, G4EmDNAPhysics_option2, G4EmDNAPhysics_option3, G4EmDNAPhysics_option4, G4EmDNAPhysics_option5, G4EmDNAPhysics_option6, G4EmDNAPhysics_option7, G4EmDNAPhysics_option8, G4EmDNAPhysics_stationary, G4EmDNAPhysics_stationary_option2, G4EmDNAPhysics_stationary_option4, G4EmDNAPhysics_stationary_option6, G4EmLEPTSPhysics, G4OpticalPhysics, G4EmExtraPhysics, G4FastSimulationPhysics, G4GenericBiasingPhysics, G4ImportanceBiasing, G4NeutronTrackingCut, G4ParallelWorldPhysics, G4StepLimiterPhysics, G4WeightWindowBiasing, G4HadronElasticPhysicsHP, G4HadronElasticPhysicsLEND, G4HadronElasticPhysicsPHP, G4HadronElasticPhysicsXS, G4DecayPhysics, G4MuonicAtomDecayPhysics, G4RadioactiveDecayPhysics, G4SpinDecayPhysics, G4UnknownDecayPhysics, G4EmDNAChemistry_option2, G4EmDNAPhysicsActivator, G4EmLivermorePhysics, G4EmLivermorePolarizedPhysics, G4EmLowEPPhysics, G4EmPenelopePhysics, G4EmStandardPhysics, G4EmStandardPhysics_option1, G4EmStandardPhysics_option2, G4EmStandardPhysics_option3, G4EmStandardPhysics_option4, G4EmStandardPhysicsGS, G4EmStandardPhysicsSS, G4EmStandardPhysicsWVI, G4ChargeExchangePhysics, G4HadronDElasticPhysics, G4HadronElasticPhysics, G4HadronHElasticPhysics, G4IonElasticPhysics, G4ThermalNeutrons, G4HadronInelasticQBBC, G4HadronPhysicsFTFP_BERT, G4HadronPhysicsFTFP_BERT_ATL, G4HadronPhysicsFTFQGSP_BERT, G4HadronPhysicsINCLXX, G4HadronPhysicsNuBeam, G4HadronPhysicsQGSP_BERT, G4HadronPhysicsQGSP_BIC, G4HadronPhysicsShielding, G4IonINCLXXPhysics, G4IonPhysics, G4IonPhysicsPHP, G4IonQMDPhysics, G4StoppingPhysics, and G4StoppingPhysicsFritiofWithBinaryCascade.

◆ GetBuilders()

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

Definition at line 101 of file G4VPhysicsConstructor.cc.

103{
104 const auto& tls = *((subInstanceManager.offset[g4vpcInstanceID])._builders);
105 PhysicsBuilder_V copy(tls.size());
106 int i = 0;
107 for(const auto& el : tls)
108 {
109 copy[i++] = el;
110 }
111 return copy;
112}
G4VPCData::PhysicsBuilders_V PhysicsBuilder_V
void copy(G4double dst[], const G4double src[], size_t size=G4FieldTrack::ncompSVEC)
Definition: G4FieldUtils.cc:98

◆ GetInstanceID()

G4int G4VPhysicsConstructor::GetInstanceID ( ) const
inline

◆ GetParticleIterator()

◆ GetPhysicsName()

const G4String & G4VPhysicsConstructor::GetPhysicsName ( ) const
inline

Definition at line 206 of file G4VPhysicsConstructor.hh.

207{
208 return namePhysics;
209}

Referenced by G4EmDNAPhysics::ConstructProcess(), 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::ConstructProcess(), G4EmDNAPhysics_stationary_option2::ConstructProcess(), G4EmDNAPhysics_stationary_option4::ConstructProcess(), G4EmDNAPhysics_stationary_option6::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmLivermorePolarizedPhysics::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(), 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
inline

◆ GetSubInstanceManager()

const G4VPCManager & G4VPhysicsConstructor::GetSubInstanceManager ( )
inlinestatic

Definition at line 230 of file G4VPhysicsConstructor.hh.

231{
232 return subInstanceManager;
233}

Referenced by G4PhysicsListWorkspace::G4PhysicsListWorkspace().

◆ GetVerboseLevel()

G4int G4VPhysicsConstructor::GetVerboseLevel ( ) const
inline

◆ RegisterProcess()

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

Definition at line 222 of file G4VPhysicsConstructor.hh.

224{
226 particle);
227 // return aPLHelper->RegisterProcess(process, particle);
228}
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4PhysicsListHelper * GetPhysicsListHelper()

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

◆ SetPhysicsName()

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

Definition at line 201 of file G4VPhysicsConstructor.hh.

202{
204}
const char * name(G4int ptype)

◆ SetPhysicsType()

void G4VPhysicsConstructor::SetPhysicsType ( G4int  val)
inline

Definition at line 211 of file G4VPhysicsConstructor.hh.

212{
213 if(val > 0)
214 typePhysics = val;
215}

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::G4EmDNAPhysics_stationary(), G4EmDNAPhysics_stationary_option2::G4EmDNAPhysics_stationary_option2(), G4EmDNAPhysics_stationary_option4::G4EmDNAPhysics_stationary_option4(), G4EmDNAPhysics_stationary_option6::G4EmDNAPhysics_stationary_option6(), G4EmExtraPhysics::G4EmExtraPhysics(), G4EmLEPTSPhysics::G4EmLEPTSPhysics(), G4EmLivermorePhysics::G4EmLivermorePhysics(), G4EmLivermorePolarizedPhysics::G4EmLivermorePolarizedPhysics(), 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(), G4IonINCLXXPhysics::G4IonINCLXXPhysics(), G4IonPhysics::G4IonPhysics(), G4IonPhysicsPHP::G4IonPhysicsPHP(), G4IonQMDPhysics::G4IonQMDPhysics(), G4NeutronTrackingCut::G4NeutronTrackingCut(), G4StepLimiterPhysics::G4StepLimiterPhysics(), G4StoppingPhysics::G4StoppingPhysics(), and G4StoppingPhysicsFritiofWithBinaryCascade::G4StoppingPhysicsFritiofWithBinaryCascade().

◆ SetVerboseLevel()

void G4VPhysicsConstructor::SetVerboseLevel ( G4int  value)
inline

◆ TerminateWorker()

void G4VPhysicsConstructor::TerminateWorker ( )
virtual

Definition at line 119 of file G4VPhysicsConstructor.cc.

120{
121 if(subInstanceManager.offset[g4vpcInstanceID]._builders != nullptr)
122 {
123 std::for_each(subInstanceManager.offset[g4vpcInstanceID]._builders->begin(),
124 subInstanceManager.offset[g4vpcInstanceID]._builders->end(),
125 [](PhysicsBuilder_V::value_type bld) { delete bld; });
126 subInstanceManager.offset[g4vpcInstanceID]._builders->clear();
127 }
128}

Referenced by ~G4VPhysicsConstructor().

Member Data Documentation

◆ g4vpcInstanceID

G4int G4VPhysicsConstructor::g4vpcInstanceID
protected

◆ namePhysics

G4String G4VPhysicsConstructor::namePhysics
protected

◆ subInstanceManager

G4VPCManager G4VPhysicsConstructor::subInstanceManager
staticprotected

◆ theParticleTable

G4ParticleTable* G4VPhysicsConstructor::theParticleTable
protected

Definition at line 169 of file G4VPhysicsConstructor.hh.

Referenced by G4VPhysicsConstructor().

◆ typePhysics

G4int G4VPhysicsConstructor::typePhysics
protected

Definition at line 167 of file G4VPhysicsConstructor.hh.

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

◆ verboseLevel


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