ATLAS Offline Software
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
12 #include "ISF_Event/ISFParticle.h"
14 
16 
17 namespace Trk{
18  class Track;
19 }
20 namespace CLHEP {
21  class HepRandomEngine;
22 }
23 namespace ISF {
24 
34  class IPunchThroughTool : virtual public IAlgTool {
35  public:
36 
38  virtual ~IPunchThroughTool(){}
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
ISF::ISFParticle
Definition: ISFParticle.h:42
ISF::IPunchThroughTool::DeclareInterfaceID
DeclareInterfaceID(IPunchThroughTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
ISFParticleContainer.h
ISF::IPunchThroughTool
Definition: IPunchThroughTool.h:34
ISFParticle.h
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
ISF::ISFParticleVector
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Definition: ISFParticleContainer.h:26
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
ISF::IPunchThroughTool::~IPunchThroughTool
virtual ~IPunchThroughTool()
Virtual destructor.
Definition: IPunchThroughTool.h:38
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
ISF::IPunchThroughTool::computePunchThroughParticles
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.
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
TFCSSimulationState.h
TFCSSimulationState
Definition: TFCSSimulationState.h:32