ATLAS Offline Software
Loading...
Searching...
No Matches
BeamEffectsAlg.h
Go to the documentation of this file.
1// Dear emacs, this is -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef BEAMEFFECTS_BEAMEFFECTSALG_H
8#define BEAMEFFECTS_BEAMEFFECTSALG_H
9
10// base class header
12
13// Athena includes
17
18// Gaudi includes
19#include "GaudiKernel/ToolHandle.h"
21
22// Forward declarations
25namespace SimTesting {
26 class BeamEffectsAlg_test;
27}
28
29namespace Simulation
30{
31
40 {
41
43
44 public:
45
46 //** Constructor with parameters */
47 BeamEffectsAlg( const std::string& name, ISvcLocator* pSvcLocator );
48
50 virtual ~BeamEffectsAlg() = default;
51
53 virtual StatusCode initialize() override final;
54
56 virtual StatusCode execute(const EventContext& ctx) const override final;
57
59 virtual bool isClonable() const override final { return true; }
60
61 private:
62
64 StatusCode patchSignalProcessVertex(HepMC::GenEvent& ge) const;
65 SG::ReadHandleKey<McEventCollection> m_inputMcEventCollection{this, "InputMcEventCollection", "GEN_EVENT", "The name of the input McEventCollection"};
66 SG::WriteHandleKey<McEventCollection> m_outputMcEventCollection{this, "OutputMcEventCollection", "BeamTruthEvent", "The name of the output McEventCollection"};
67
68 // Dummy xAOD::EventInfo dependency for McEventCollection P->T conversion
69 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfo", "EventInfo", "The name of the input xAOD::EventInfo"};
70
72 ToolHandleArray<IGenEventManipulator> m_genEventManipulators{this, "GenEventManipulators", {}, "BeamEffectsAlg will send the read-in GenEvent to each individual IGenEventManipulator."};
73
75 Gaudi::Property<bool> m_ISFRun{this, "ISFRun", false, "Temporary property so that we don't change the output in the initial switch to this code"};
76
77 };
78
79}
80
81#endif // BEAMEFFECTS_BEAMEFFECTSALG_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< bool > m_ISFRun
Temporary property so that we don't change the output in the initial switch to this code.
friend class SimTesting::BeamEffectsAlg_test
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
virtual StatusCode initialize() override final
Athena algorithm's interface method initialize()
virtual StatusCode execute(const EventContext &ctx) const override final
Athena algorithm's interface method execute()
ToolHandleArray< IGenEventManipulator > m_genEventManipulators
Event manipulator tools (executed in given order)
StatusCode patchSignalProcessVertex(HepMC::GenEvent &ge) const
Ensure that the GenEvent::signal_process_vertex has been set.
virtual ~BeamEffectsAlg()=default
Destructor.
SG::ReadHandleKey< McEventCollection > m_inputMcEventCollection
SG::WriteHandleKey< McEventCollection > m_outputMcEventCollection
virtual bool isClonable() const override final
Can clone for AthenaMT.
BeamEffectsAlg(const std::string &name, ISvcLocator *pSvcLocator)