|
DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Go to the documentation of this file.
14 #ifndef DDG4_GEANT4PHYSICSLIST_H
15 #define DDG4_GEANT4PHYSICSLIST_H
26 class G4VModularPhysicsList;
27 class G4VUserPhysicsList;
152 PhysicsConstructor
physics(
const std::string&
name)
const;
185 int ordAtRestDoIt,
int ordAlongSteptDoIt,
int ordPostStepDoIt);
268 template <
typename Q,
typename T>
273 template <
typename Q,
typename T>
278 template <
typename Q,
typename T>
292 virtual void enable(G4VUserPhysicsList* physics);
300 #endif // DDG4_GEANT4PHYSICSLIST_H
G4VPhysicsConstructor * pointer
Pointer to physics constructor object.
ParticleConstructors & particlegroups()
Access all physics particlegroups.
PhysicsConstructor(const std::string &s)
Initalizing constructor.
virtual void constructPhysics(G4VModularPhysicsList *physics)
constructPhysics callback
void addParticleGroup(const std::string &part_name)
Add physics particle group constructor by name (Leptons, Bosons, Mesons, etc.)
virtual void constructParticles(G4VUserPhysicsList *physics)
Callback to construct particles.
Structure describing a G4 process.
CallbackSequence m_physics
Callback sequence for G4 physics constructors.
Process & operator=(const Process &p)
Assignment operator.
G4VUserPhysicsList * extensionList()
Extend physics list from factory:
void constructProcess(Q *p, void(T::*f)(G4VUserPhysicsList *))
Register process construction callback.
virtual void installCommandMessenger() override
Install command control messenger if wanted.
ParticleConstructor & operator=(const ParticleConstructor &c)=default
Assignment operator.
virtual void constructProcesses(G4VUserPhysicsList *physics)
Execute sequence of G4 physics constructors.
void adopt(Geant4PhysicsList *action)
Add an actor responding to all callbacks. Sequence takes ownership.
void add(const Callback &cb, Location where)
Generically Add a new callback to the sequence depending on the location arguments.
Process()
Default constructor.
Actors< Geant4PhysicsList > m_actors
The list of action objects to be called.
virtual void constructParticles(G4VUserPhysicsList *physics)
Execute sequence of G4 particle constructors.
void constructPhysics(Q *p, void(T::*f)(G4VModularPhysicsList *))
Register physics construction callback.
std::vector< Process > ParticleProcesses
bool m_transportation
Flag if particle transportation is to be added.
ParticleConstructors & particles()
Access all physics particles.
virtual void installCommandMessenger() override
Install command control messenger if wanted.
Definition of an actor on sequences of callbacks.
double m_rangecut
global range cut for secondary productions
std::vector< PhysicsConstructor > PhysicsConstructors
Geant4PhysicsList(Geant4Context *context, const std::string &nam)
Standard constructor with initailization parameters.
virtual void constructDecays(G4VUserPhysicsList *physics)
Callback to construct particle decays.
CallbackSequence m_particle
Callback sequence for G4 particle constructors.
std::map< std::string, ParticleProcesses > PhysicsProcesses
void addPhysicsConstructor(const std::string &physics_name)
Add PhysicsConstructor by name.
PhysicsConstructors & physics()
Access all physics constructors.
void dump()
Dump content to stdout.
ParticleConstructors m_particles
CallbackSequence m_process
Callback sequence for G4 process constructors.
PhysicsProcesses & processes()
Access all physics processes.
The implementation of the single Geant4 physics list action sequence.
ParticleConstructor(const std::string &s)
Initalizing constructor.
ParticleConstructor(const ParticleConstructor ©)=default
Default constructor.
Default base class for all Geant 4 actions and derivates thereof.
virtual ~Geant4PhysicsList()
Default destructor.
const std::string & name() const
Access name of the action.
void dump()
Dump content to stdout.
void addParticleProcess(const std::string &part_name, const std::string &proc_name, int ordAtRestDoIt, int ordAlongSteptDoIt, int ordPostStepDoIt)
Add particle process by name with arguments.
PhysicsProcesses m_processes
Structure describing a G4 physics constructor.
Class of the Geant4 toolkit. See http://www-geant4.kek.jp/Reference.
Structure describing a G4 particle constructor.
PhysicsProcesses m_discreteProcesses
const ParticleConstructors & particlegroups() const
Access all physics particlegroups.
bool m_decays
Flag if particle decays are to be added.
Concrete basic implementation of a Geant4 physics list action.
PhysicsConstructor & operator=(const PhysicsConstructor &c)=default
Assignment operator.
virtual ~Geant4PhysicsListActionSequence()
Default destructor.
bool transportation() const
Access the transportation flag.
const PhysicsProcesses & processes() const
Access all physics processes.
Geant4PhysicsListActionSequence(Geant4Context *context, const std::string &nam)
Standard constructor.
int m_verbosity
verbosity level for the physics list
void adoptPhysicsConstructor(Geant4Action *action)
Add PhysicsConstructor as Geant4Action object.
PhysicsProcesses & discreteProcesses()
Access all physics discrete processes.
virtual void constructProcesses(G4VUserPhysicsList *physics)
Callback to construct processes (uses the G4 particle table)
void constructParticle(Q *p, void(T::*f)(G4VUserPhysicsList *))
Register particle construction callback.
void setTransportation(bool value)
Update transportation flag.
void addDiscreteParticleProcess(const std::string &part_name, const std::string &proc_name)
Add discrete particle process by name with arguments.
PhysicsConstructor(const PhysicsConstructor &c)=default
Copy constructor.
PhysicsConstructors m_physics
Namespace for the AIDA detector description toolkit.
virtual void enable(G4VUserPhysicsList *physics)
Enable physics list: actions necessary to be propagated to Geant4.
void addParticleConstructor(const std::string &part_name)
Add physics particle constructor by name.
Actor class to manipulate action groups.
ParticleConstructors m_particlegroups
const ParticleConstructors & particles() const
Access all physics particles.
ParticleConstructor()=default
Default constructor.
virtual void enable(G4VUserPhysicsList *physics)
Enable physics list: actions necessary to be propagated to Geant4.
PhysicsConstructor()=default
Default constructor.
const PhysicsConstructors & physics() const
Access all physics constructors.
std::vector< ParticleConstructor > ParticleConstructors
Generic context to extend user, run and event information.
Geant4Context * context() const
Access the context.
const PhysicsProcesses & discreteProcesses() const
Access all physics discrete processes.
std::string m_extends
Property: Store name of basic predefined Geant4 physics list.