ATLAS Offline Software
Loading...
Searching...
No Matches
GenEventVertexPositioner.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef BEAMEFFECTS_GENEVENTVERTEXPOSITIONER_H
6#define BEAMEFFECTS_GENEVENTVERTEXPOSITIONER_H 1
7
8// FrameWork includes
9#include "GaudiKernel/ToolHandle.h"
12
13
14namespace Simulation {
15
16 // forward declarations
18
29 class GenEventVertexPositioner : public extends<AthAlgTool, IGenEventManipulator> {
30
31 public:
33 GenEventVertexPositioner( const std::string& t, const std::string& n, const IInterface* p );
34
36 StatusCode initialize() override final;
37 StatusCode finalize() override final;
38
40 StatusCode manipulate(HepMC::GenEvent& ge, const EventContext& ctx) const override final;
41
42 private:
44 ToolHandleArray<ILorentzVectorGenerator> m_vertexShifters{this, "VertexShifters", {}};
45 };
46
47}
48
49#endif //> !BEAMEFFECTS_GENEVENTVERTEXPOSITIONER_H
StatusCode finalize() override final
Athena algtool's Hooks.
GenEventVertexPositioner(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
StatusCode initialize() override final
Athena algtool's Hooks.
ToolHandleArray< ILorentzVectorGenerator > m_vertexShifters
Vertex Shifters applied in the given order.
StatusCode manipulate(HepMC::GenEvent &ge, const EventContext &ctx) const override final
modifies (displaces) the given GenEvent
Interface definition for an AthenaTool creating a HepLorentzVector.