1#ifndef SIMG4FAST_G4PARTICLESMEARFORMULA_H
2#define SIMG4FAST_G4PARTICLESMEARFORMULA_H
5#include "GaudiKernel/AlgTool.h"
6#include "GaudiKernel/RndmGenerators.h"
45 virtual StatusCode
smearMomentum(CLHEP::Hep3Vector& aMom,
int aPdg = 0)
final;
54 inline virtual StatusCode
checkConditions(
double,
double,
double)
const final {
return StatusCode::SUCCESS; }
65 this,
"resolutionMomentum",
"",
66 "string defining a TFormula representing resolution momentum-dependent for the smearing"};
Interface to the particle smearing tool.
Definition ISimG4ParticleSmearTool.h:20
Formula particle smearing tool.
Definition SimG4ParticleSmearFormula.h:26
Gaudi::Property< std::string > m_resolutionMomentumStr
string defining a TFormula representing resolution momentum-dependent for the smearing (set by job op...
Definition SimG4ParticleSmearFormula.h:64
virtual ~SimG4ParticleSmearFormula()
Definition SimG4ParticleSmearFormula.cpp:22
SmartIF< IRndmGenSvc > m_randSvc
Random Number Service.
Definition SimG4ParticleSmearFormula.h:60
virtual StatusCode smearMomentum(CLHEP::Hep3Vector &aMom, int aPdg=0) final
Smear the momentum of the particle.
Definition SimG4ParticleSmearFormula.cpp:44
virtual StatusCode initialize() final
Initialize the tool and a random number generator.
Definition SimG4ParticleSmearFormula.cpp:24
TFormula m_resolutionMomentum
TFormula representing resolution momentum-dependent for the smearing.
Definition SimG4ParticleSmearFormula.h:58
IRndmGen * m_gauss
Gaussian random number generator used for smearing with a constant resolution (m_sigma)
Definition SimG4ParticleSmearFormula.h:62
virtual StatusCode checkConditions(double, double, double) const final
Check conditions of the smearing model, especially if the given parametrs do not exceed the parameter...
Definition SimG4ParticleSmearFormula.h:54
virtual StatusCode finalize() final
Finalize.
Definition SimG4ParticleSmearFormula.cpp:42
SimG4ParticleSmearFormula(const std::string &type, const std::string &name, const IInterface *parent)
Definition SimG4ParticleSmearFormula.cpp:16