ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
BeamEffects
src
ZeroLifetimePositioner.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef BEAMEFFECTS_ZEROLIFETIMEPOSITIONER_H
6
#define BEAMEFFECTS_ZEROLIFETIMEPOSITIONER_H 1
7
8
// FrameWork includes
9
#include "GaudiKernel/ToolHandle.h"
10
#include "
AthenaBaseComps/AthService.h
"
11
#include "
HepMC_Interfaces/IZeroLifetimePatcher.h
"
12
#include <vector>
13
14
namespace
Simulation
{
15
21
class
ZeroLifetimePositioner
:
public
extends<AthService, Simulation::IZeroLifetimePatcher> {
22
23
public
:
25
ZeroLifetimePositioner
(
const
std::string& name, ISvcLocator* pSvcLocator );
26
28
StatusCode
initialize
()
override
final
;
29
StatusCode
finalize
()
override
final
;
30
32
virtual
StatusCode
applyWorkaround
(
HepMC::GenEvent
& ge)
const
override
final
;
33
35
virtual
StatusCode
removeWorkaround
(
HepMC::GenEvent
& ge)
const
override
final
;
36
37
private
:
38
StatusCode
manipulate
(
HepMC::GenEvent
& ge,
bool
applyPatch,
bool
removePatch)
const
;
39
Gaudi::Property<bool>
m_applyPatch
{
this
,
"ApplyPatch"
,
false
};
40
Gaudi::Property<bool>
m_removePatch
{
this
,
"RemovePatch"
,
false
};
41
Gaudi::Property<std::vector<int>>
m_pdgCodesToCheck
{
this
,
"PDGCodesToCheck"
, {421,511,531} };
// Apply fix to neutral mesons with oscillations: B0, B0s, D0
42
};
43
44
}
45
46
#endif
//> !BEAMEFFECTS_ZEROLIFETIMEPOSITIONER_H
AthService.h
IZeroLifetimePatcher.h
Simulation::ZeroLifetimePositioner::m_pdgCodesToCheck
Gaudi::Property< std::vector< int > > m_pdgCodesToCheck
Definition
ZeroLifetimePositioner.h:41
Simulation::ZeroLifetimePositioner::removeWorkaround
virtual StatusCode removeWorkaround(HepMC::GenEvent &ge) const override final
Removes the workaround for zero-lifetime particles from the GenEvent.
Definition
ZeroLifetimePositioner.cxx:54
Simulation::ZeroLifetimePositioner::ZeroLifetimePositioner
ZeroLifetimePositioner(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters.
Definition
ZeroLifetimePositioner.cxx:19
Simulation::ZeroLifetimePositioner::m_removePatch
Gaudi::Property< bool > m_removePatch
Definition
ZeroLifetimePositioner.h:40
Simulation::ZeroLifetimePositioner::m_applyPatch
Gaudi::Property< bool > m_applyPatch
Definition
ZeroLifetimePositioner.h:39
Simulation::ZeroLifetimePositioner::finalize
StatusCode finalize() override final
Athena algtool's Hooks.
Definition
ZeroLifetimePositioner.cxx:40
Simulation::ZeroLifetimePositioner::initialize
StatusCode initialize() override final
Athena algtool's Hooks.
Definition
ZeroLifetimePositioner.cxx:27
Simulation::ZeroLifetimePositioner::applyWorkaround
virtual StatusCode applyWorkaround(HepMC::GenEvent &ge) const override final
Applies the workaround for zero-lifetime particles to the GenEvent.
Definition
ZeroLifetimePositioner.cxx:47
Simulation::ZeroLifetimePositioner::manipulate
StatusCode manipulate(HepMC::GenEvent &ge, bool applyPatch, bool removePatch) const
modifies (displaces) the given GenEvent
Definition
ZeroLifetimePositioner.cxx:62
HepMC::GenEvent
HepMC3::GenEvent GenEvent
Definition
GenEvent.h:39
Simulation
Definition
BeamEffectsAlg.cxx:21
Generated on
for ATLAS Offline Software by
1.17.0