ATLAS Offline Software
IProcessSamplingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ISF_FATRASINTERFACES_IPROCESSSAMPLINGTOOL_H
6 #define ISF_FATRASINTERFACES_IPROCESSSAMPLINGTOOL_H
7 
8 // Gaudi
9 #include "GaudiKernel/IAlgTool.h"
12 
13 namespace Trk{
14  struct PathLimit;
15 }
16 
17 namespace CLHEP {
18  class HepRandomEngine;
19 }
20 
21 namespace iFatras {
22 
32  class IProcessSamplingTool : virtual public IAlgTool {
33  public:
34 
37 
40 
42  virtual Trk::PathLimit sampleProcess(CLHEP::HepRandomEngine *randomEngine, double momentum, double charge, Trk::ParticleHypothesis pHypothesis) const=0;
43 
44  };
45 
46 } // end of namespace
47 
48 #endif
iFatras::IProcessSamplingTool::sampleProcess
virtual Trk::PathLimit sampleProcess(CLHEP::HepRandomEngine *randomEngine, double momentum, double charge, Trk::ParticleHypothesis pHypothesis) const =0
Process, path limit.
iFatras::IProcessSamplingTool
Definition: IProcessSamplingTool.h:32
iFatras
Definition: ActsFatrasSimTool.h:52
RunExEngineTest.PathLimit
PathLimit
Definition: RunExEngineTest.py:61
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
iFatras::IProcessSamplingTool::DeclareInterfaceID
DeclareInterfaceID(IProcessSamplingTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
ParticleHypothesis.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
charge
double charge(const T &p)
Definition: AtlasPID.h:494
iFatras::IProcessSamplingTool::~IProcessSamplingTool
virtual ~IProcessSamplingTool()
Virtual destructor.
Definition: IProcessSamplingTool.h:36
Trk::PathLimit
Definition: HelperStructs.h:34
checker_macros.h
Define macros for attributes used to control the static checker.