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.
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.
Generate particles isotrop in space around origine (0,0,0)
std::string m_particleName
Property: Particle name.
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.