Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Par02PhysicsList Class Reference

Construction of a physics list. More...

#include <Doxymodules_parameterisations.h>

Inheritance diagram for Par02PhysicsList:
G4VUserPhysicsList

Public Member Functions

 Par02PhysicsList ()
 A default constructor. Sets the default cut value.
 
virtual ~Par02PhysicsList ()
 

Protected Member Functions

virtual void ConstructParticle ()
 Constructs particles: bosons, leptons, mesons, baryons and ions.
 
virtual void ConstructProcess ()
 Constructs physics processes: particle transportation, decays, parametrisation (for the purpose of fast parametric simulation).
 
virtual void SetCuts ()
 Sets cuts with the default value for all particle types.
 
virtual void ConstructBosons ()
 Constructs bosons (including geantino)
 
virtual void ConstructLeptons ()
 Constructs all leptons.
 
virtual void ConstructMesons ()
 Constructs all mesons.
 
virtual void ConstructBaryons ()
 Constructs all barions.
 
virtual void ConstructIons ()
 Constructs light ions.
 
void AddParameterisation ()
 Creates a G4FastSimulationManagerProcess object for all the particle types.
 
virtual void ConstructGeneral ()
 Adds decay process.
 
virtual void AddTransportation ()
 Adds the particle transport.
 

Detailed Description

Construction of a physics list.

A mandatory initialization class of the physics list. For the purposes of fast simulation, only transportation, decays and parametrisation is used. Based on G4 examples/extended/parametrisations/Par01/include/Par01PhysicsList.hh .

Author
Anna Zaborowska

Definition at line 45 of file Doxymodules_parameterisations.h.

Constructor & Destructor Documentation

◆ Par02PhysicsList()

Par02PhysicsList::Par02PhysicsList ( )

A default constructor. Sets the default cut value.

Definition at line 70 of file Par02PhysicsList.cc.

71 SetVerboseLevel( 1 );
72 defaultCutValue = 0.1*m;
73}

◆ ~Par02PhysicsList()

Par02PhysicsList::~Par02PhysicsList ( )
virtualdefault

Member Function Documentation

◆ ConstructParticle()

void Par02PhysicsList::ConstructParticle ( )
protectedvirtual

Constructs particles: bosons, leptons, mesons, baryons and ions.

Definition at line 81 of file Par02PhysicsList.cc.

81 {
82 // In this method, static member functions should be called for all particles
83 // which you want to use.
84 // This ensures that objects of these particle types will be created in the program.
90}
virtual void ConstructBosons()
Constructs bosons (including geantino)
virtual void ConstructIons()
Constructs light ions.
virtual void ConstructLeptons()
Constructs all leptons.
virtual void ConstructBaryons()
Constructs all barions.
virtual void ConstructMesons()
Constructs all mesons.

◆ ConstructProcess()

void Par02PhysicsList::ConstructProcess ( )
protectedvirtual

Constructs physics processes: particle transportation, decays, parametrisation (for the purpose of fast parametric simulation).

Definition at line 131 of file Par02PhysicsList.cc.

131 {
135}
virtual void ConstructGeneral()
Adds decay process.
void AddParameterisation()
Creates a G4FastSimulationManagerProcess object for all the particle types.
virtual void AddTransportation()
Adds the particle transport.

◆ SetCuts()

void Par02PhysicsList::SetCuts ( )
protectedvirtual

Sets cuts with the default value for all particle types.

Definition at line 184 of file Par02PhysicsList.cc.

184 {
185 if ( verboseLevel > 1 ) {
186 G4cout << "Par02PhysicsList::SetCuts:";
187 }
188 SetCutsWithDefault();
189}

◆ ConstructBosons()

void Par02PhysicsList::ConstructBosons ( )
protectedvirtual

Constructs bosons (including geantino)

Definition at line 94 of file Par02PhysicsList.cc.

94 {
95 G4Geantino::GeantinoDefinition();
96 G4ChargedGeantino::ChargedGeantinoDefinition();
97 G4Gamma::GammaDefinition();
98 G4OpticalPhoton::OpticalPhotonDefinition();
99}

◆ ConstructLeptons()

void Par02PhysicsList::ConstructLeptons ( )
protectedvirtual

Constructs all leptons.

Definition at line 103 of file Par02PhysicsList.cc.

103 {
104 G4LeptonConstructor pConstructor;
105 pConstructor.ConstructParticle();
106}

◆ ConstructMesons()

void Par02PhysicsList::ConstructMesons ( )
protectedvirtual

Constructs all mesons.

Definition at line 110 of file Par02PhysicsList.cc.

110 {
111 G4MesonConstructor pConstructor;
112 pConstructor.ConstructParticle();
113}

◆ ConstructBaryons()

void Par02PhysicsList::ConstructBaryons ( )
protectedvirtual

Constructs all barions.

Definition at line 117 of file Par02PhysicsList.cc.

117 {
118 G4BaryonConstructor pConstructor;
119 pConstructor.ConstructParticle();
120}

◆ ConstructIons()

void Par02PhysicsList::ConstructIons ( )
protectedvirtual

Constructs light ions.

Definition at line 124 of file Par02PhysicsList.cc.

124 {
125 G4IonConstructor pConstructor;
126 pConstructor.ConstructParticle();
127}

◆ AddParameterisation()

void Par02PhysicsList::AddParameterisation ( )
protected

Creates a G4FastSimulationManagerProcess object for all the particle types.

Definition at line 164 of file Par02PhysicsList.cc.

164 {
165 G4FastSimulationManagerProcess* fastSimProcess =
166 new G4FastSimulationManagerProcess( "G4FSMP" );
167
168 // Registers the fastSimProcess with all the particles as a discrete and
169 // continuous process (this works in all cases; in the case that parallel
170 // geometries are not used, as in this example, it would be enough to
171 // add it as a discrete process).
172 auto particleIterator=GetParticleIterator();
173 particleIterator->reset();
174 while ( (*particleIterator)() ) {
175 G4ParticleDefinition* particle = particleIterator->value();
176 G4ProcessManager* pmanager = particle->GetProcessManager();
177 //pmanager->AddDiscreteProcess( fastSimProcess ); // No parallel geometry
178 pmanager->AddProcess( fastSimProcess, -1, 0, 0 ); // General
179 }
180}

◆ ConstructGeneral()

void Par02PhysicsList::ConstructGeneral ( )
protectedvirtual

Adds decay process.

Definition at line 146 of file Par02PhysicsList.cc.

146 {
147 auto theDecayProcess = new G4Decay();
148 auto particleIterator=GetParticleIterator();
149 particleIterator->reset();
150 while ( (*particleIterator)() ) {
151 G4ParticleDefinition* particle = particleIterator->value();
152 G4ProcessManager* pmanager = particle->GetProcessManager();
153 if ( theDecayProcess->IsApplicable( *particle ) ) {
154 pmanager->AddProcess( theDecayProcess );
155 // set ordering for PostStepDoIt and AtRestDoIt
156 pmanager->SetProcessOrdering( theDecayProcess, idxPostStep );
157 pmanager->SetProcessOrdering( theDecayProcess, idxAtRest );
158 }
159 }
160}

◆ AddTransportation()

void Par02PhysicsList::AddTransportation ( )
protectedvirtual

Adds the particle transport.

G4CoupledTransportation is used to allow the calculation of the expected position of the particle within a G4VFastSimulationModel.

Definition at line 139 of file Par02PhysicsList.cc.

139 {
140 //UseCoupledTransportation();
141 G4VUserPhysicsList::AddTransportation();
142}

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

Applications | User Support | Publications | Collaboration