ATLAS Offline Software
Loading...
Searching...
No Matches
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
13namespace Trk{
14 struct PathLimit;
15}
16
17namespace CLHEP {
18 class HepRandomEngine;
19}
20
21namespace iFatras {
22
31
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
double charge(const T &p)
Definition AtlasPID.h:997
Define macros for attributes used to control the static checker.
sampling the process/free path
DeclareInterfaceID(IProcessSamplingTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual Trk::PathLimit sampleProcess(CLHEP::HepRandomEngine *randomEngine, double momentum, double charge, Trk::ParticleHypothesis pHypothesis) const =0
Process, path limit.
virtual ~IProcessSamplingTool()
Virtual destructor.
Ensure that the ATLAS eigen extensions are properly loaded.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.