ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
BeamEffects
src
GenEventRotator.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- C++ -*-
2
3
/*
4
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef ISF_HEPMC_GENEVENTROTATOR_H
8
#define ISF_HEPMC_GENEVENTROTATOR_H 1
9
10
// Base class headers
11
#include "
AthenaBaseComps/AthAlgTool.h
"
12
#include "
HepMC_Interfaces/IGenEventManipulator.h
"
13
// Gaudi headers
14
#include "GaudiKernel/ServiceHandle.h"
15
// CLHEP headers
16
#include "CLHEP/Geometry/Transform3D.h"
17
#include "CLHEP/Vector/LorentzRotation.h"
18
19
#include "
AtlasHepMC/GenParticle.h
"
20
21
namespace
Simulation
{
22
28
class
GenEventRotator
:
public
extends<AthAlgTool, IGenEventManipulator>
29
{
30
31
public
:
33
GenEventRotator
(
const
std::string& t,
const
std::string& n,
const
IInterface* p );
34
36
StatusCode
initialize
()
override
final
;
37
StatusCode
finalize
()
override
final
;
38
39
StatusCode
initializeAthenaEvent
();
// override final;
40
42
StatusCode
manipulate
(
HepMC::GenEvent
& ge,
const
EventContext& ctx)
const
override
final
;
43
private
:
45
StatusCode
initializeGenEvent
(CLHEP::HepLorentzRotation& transform,
const
EventContext& ctx)
const
;
47
void
rotateParticle
(
HepMC::GenParticlePtr
& p,
const
CLHEP::HepLorentzRotation& transform)
const
;
48
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"
};
52
};
53
54
}
55
56
#endif
//> !ISF_HEPMC_GENEVENTROTATOR_H
AthAlgTool.h
GenParticle.h
IGenEventManipulator.h
Simulation::GenEventRotator::m_zangle
Gaudi::Property< double > m_zangle
Definition
GenEventRotator.h:51
Simulation::GenEventRotator::m_xangle
Gaudi::Property< double > m_xangle
Definition
GenEventRotator.h:49
Simulation::GenEventRotator::manipulate
StatusCode manipulate(HepMC::GenEvent &ge, const EventContext &ctx) const override final
modifies the given GenEvent
Definition
GenEventRotator.cxx:70
Simulation::GenEventRotator::initializeAthenaEvent
StatusCode initializeAthenaEvent()
Definition
GenEventRotator.cxx:43
Simulation::GenEventRotator::finalize
StatusCode finalize() override final
Athena algtool's Hooks.
Definition
GenEventRotator.cxx:37
Simulation::GenEventRotator::rotateParticle
void rotateParticle(HepMC::GenParticlePtr &p, const CLHEP::HepLorentzRotation &transform) const
apply rotations to individual GenParticles
Definition
GenEventRotator.cxx:82
Simulation::GenEventRotator::GenEventRotator
GenEventRotator(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Definition
GenEventRotator.cxx:22
Simulation::GenEventRotator::m_yangle
Gaudi::Property< double > m_yangle
Definition
GenEventRotator.h:50
Simulation::GenEventRotator::initialize
StatusCode initialize() override final
Athena algtool's Hooks.
Definition
GenEventRotator.cxx:30
Simulation::GenEventRotator::initializeGenEvent
StatusCode initializeGenEvent(CLHEP::HepLorentzRotation &transform, const EventContext &ctx) const
calculate the transformations that we want to apply to the particles in the current GenEvent
Definition
GenEventRotator.cxx:48
HepMC::GenParticlePtr
HepMC3::GenParticlePtr GenParticlePtr
Definition
GenParticle.h:19
HepMC::GenEvent
HepMC3::GenEvent GenEvent
Definition
GenEvent.h:39
Simulation
Definition
BeamEffectsAlg.cxx:21
Generated on
for ATLAS Offline Software by
1.17.0