|
DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Go to the documentation of this file.
13 #ifndef DDG4_GEANT4PARTICLEGENERATOR_H
14 #define DDG4_GEANT4PARTICLEGENERATOR_H
18 #include <Math/Vector3D.h>
21 class G4ParticleDefinition;
30 class Geant4PrimaryInteraction;
70 virtual void getParticleDirection(
int num, ROOT::Math::XYZVector& direction,
double& momentum)
const;
86 virtual void operator()(G4Event* event)
override;
90 #endif // DDG4_GEANT4PARTICLEGENERATOR_H
int m_multiplicity
Property: Desired multiplicity of the particles to be shot.
virtual ~Geant4ParticleGenerator()
Default destructor.
int m_mask
Property: User mask passed to all particles in the generated interaction.
Geant4ParticleGenerator(Geant4Context *context, const std::string &name)
Standard constructor.
Class modelling a single interaction with multiple primary vertices and particles.
double m_momentumMin
Property: Minimal momentum value.
virtual void getParticleMultiplicity(int &multiplicity) const
Particle modification. Caller presets defaults to: (multiplicity=m_multiplicity)
double m_energy
Property: Fixed momentum value, overwrites momentumMin and momentumMax if set.
G4ParticleDefinition * m_particle
Pointer to geant4 particle definition.
ROOT::Math::XYZVector m_direction
Property: Shooting direction of the gun.
virtual void getVertexPosition(ROOT::Math::XYZVector &position) const
Particle's vertex modification. Caller presets defaults to: (multiplicity=m_multiplicity)
void getParticleMomentumUniform(double &momentum) const
Uniform particle momentum.
virtual void operator()(G4Event *event) override
Callback to generate primary particles.
ROOT::Math::XYZVector m_position
Property: Position of the gun in space.
double m_momentumMax
Property: Maximal momentum value.
Concrete implementation of the Geant4 generator action base class.
const std::string & name() const
Access name of the action.
Generate particles isotrop in space around origine (0,0,0)
std::string m_particleName
Property: Particle name.
Namespace for the AIDA detector description toolkit.
virtual void getParticleDirection(int num, ROOT::Math::XYZVector &direction, double &momentum) const
Particle modification. Caller presets defaults to: ( direction = m_direction, momentum = m_energy)
virtual void printInteraction(int mask) const
Print single particle interaction identified by its mask.
Generic context to extend user, run and event information.
Geant4Context * context() const
Access the context.