ATLAS Offline Software
Loading...
Searching...
No Matches
IPunchThroughTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_FASTCALOSIMINTERFACES_IPUNCHTHROUGHTOOL_H
6#define ISF_FASTCALOSIMINTERFACES_IPUNCHTHROUGHTOOL_H 1
7
8// Gaudi
9#include "GaudiKernel/IAlgTool.h"
10
11// ISF includes
14
16
17namespace Trk{
18 class Track;
19}
20namespace CLHEP {
21 class HepRandomEngine;
22}
23namespace ISF {
24
33
34 class IPunchThroughTool : virtual public IAlgTool {
35 public:
36
39
42
44 virtual const ISF::ISFParticleVector* computePunchThroughParticles(const ISFParticle& isfp, const TFCSSimulationState& simulstate, CLHEP::HepRandomEngine* rndmEngine) const = 0;
45 };
46
47} // end of namespace
48
49#endif
Interface for a tool which takes a ISF::ISFParticle as input and returns a vector of ISFParticles.
virtual const ISF::ISFParticleVector * computePunchThroughParticles(const ISFParticle &isfp, const TFCSSimulationState &simulstate, CLHEP::HepRandomEngine *rndmEngine) const =0
Creates new vector of ISFParticle out of a given ISFParticle.
virtual ~IPunchThroughTool()
Virtual destructor.
DeclareInterfaceID(IPunchThroughTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
The generic ISF particle definition,.
Definition ISFParticle.h:42
ISFParticleOrderedQueue.
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Ensure that the ATLAS eigen extensions are properly loaded.