7#ifndef ISF_HEPMC_GENEVENTROTATOR_H
8#define ISF_HEPMC_GENEVENTROTATOR_H 1
14#include "GaudiKernel/ServiceHandle.h"
16#include "CLHEP/Geometry/Transform3D.h"
17#include "CLHEP/Vector/LorentzRotation.h"
33 GenEventRotator(
const std::string& t,
const std::string& n,
const IInterface* p );
37 StatusCode
finalize()
override final;
42 StatusCode
manipulate(HepMC::GenEvent& ge,
const EventContext& ctx)
const override final;
45 StatusCode
initializeGenEvent(CLHEP::HepLorentzRotation& transform,
const EventContext& ctx)
const;
49 Gaudi::Property<double>
m_xangle{
this,
"xAngle", 0.0,
"rotation about x-axis"};
50 Gaudi::Property<double>
m_yangle{
this,
"yAngle", 0.0,
"rotation about y-axis"};
51 Gaudi::Property<double>
m_zangle{
this,
"zAngle", 0.0,
"rotation about z-axis"};
Gaudi::Property< double > m_zangle
Gaudi::Property< double > m_xangle
StatusCode manipulate(HepMC::GenEvent &ge, const EventContext &ctx) const override final
modifies the given GenEvent
StatusCode initializeAthenaEvent()
StatusCode finalize() override final
Athena algtool's Hooks.
void rotateParticle(HepMC::GenParticlePtr &p, const CLHEP::HepLorentzRotation &transform) const
apply rotations to individual GenParticles
GenEventRotator(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Gaudi::Property< double > m_yangle
StatusCode initialize() override final
Athena algtool's Hooks.
StatusCode initializeGenEvent(CLHEP::HepLorentzRotation &transform, const EventContext &ctx) const
calculate the transformations that we want to apply to the particles in the current GenEvent
GenParticle * GenParticlePtr