ATLAS Offline Software
Loading...
Searching...
No Matches
IZeroLifetimePatcher.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HEPMC_INTERFACES_IZEROLIFETIMEPATCHER_H
6#define HEPMC_INTERFACES_IZEROLIFETIMEPATCHER_H 1
7
8// Gaudi
9// framework includes
10#include "GaudiKernel/IInterface.h"
11#include "GaudiKernel/StatusCode.h"
12
14
15namespace Simulation {
16
23
24 class IZeroLifetimePatcher : virtual public IInterface {
25 public:
26
29
32
34 virtual StatusCode applyWorkaround(HepMC::GenEvent& ge) const = 0;
35
37 virtual StatusCode removeWorkaround(HepMC::GenEvent& ge) const = 0;
38
39 };
40
41} // end of namespace
42
43#endif // HEPMC_INTERFACES_IZEROLIFETIMEPATCHER_H
Interface for a service which works around the issue of zero-lifetime particles in Geant4.
virtual StatusCode applyWorkaround(HepMC::GenEvent &ge) const =0
Applies the workaround for zero-lifetime particles to the GenEvent.
virtual StatusCode removeWorkaround(HepMC::GenEvent &ge) const =0
Removes the workaround for zero-lifetime particles from the GenEvent.
virtual ~IZeroLifetimePatcher()
Virtual destructor.
DeclareInterfaceID(IZeroLifetimePatcher, 1, 0)
Creates the InterfaceID and interfaceID() method.