Warning, file /acts/Fatras/include/ActsFatras/Physics/StandardInteractions.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Definitions/PdgParticle.hpp"
0012 #include "ActsFatras/Kernel/ContinuousProcess.hpp"
0013 #include "ActsFatras/Kernel/InteractionList.hpp"
0014 #include "ActsFatras/Kernel/PointLikeProcess.hpp"
0015 #include "ActsFatras/Physics/ElectroMagnetic/BetheBloch.hpp"
0016 #include "ActsFatras/Physics/ElectroMagnetic/BetheHeitler.hpp"
0017 #include "ActsFatras/Physics/ElectroMagnetic/PhotonConversion.hpp"
0018 #include "ActsFatras/Physics/ElectroMagnetic/Scattering.hpp"
0019 #include "ActsFatras/Selectors/KinematicCasts.hpp"
0020 #include "ActsFatras/Selectors/ParticleSelectors.hpp"
0021 #include "ActsFatras/Selectors/SelectorHelpers.hpp"
0022
0023 namespace ActsFatras {
0024 namespace Casts {
0025 struct P;
0026 }
0027
0028 namespace detail {
0029
0030
0031 using SelectElectronLike = AbsPdgSelector<Acts::PdgParticle::eElectron>;
0032
0033 using SelectPhotonLike = AbsPdgSelector<Acts::PdgParticle::eGamma>;
0034
0035 using SelectPMin = Min<Casts::P>;
0036
0037
0038 using StandardScattering =
0039 ContinuousProcess<HighlandScattering, ChargedSelector, EveryParticle,
0040 EveryParticle>;
0041
0042
0043
0044 using StandardBetheBloch =
0045 ContinuousProcess<BetheBloch, ChargedSelector, SelectPMin, EveryParticle>;
0046
0047
0048
0049 using StandardBetheHeitler =
0050 ContinuousProcess<BetheHeitler, SelectElectronLike, SelectPMin, SelectPMin>;
0051
0052
0053 using StandardPhotonConversion =
0054 PointLikeProcess<PhotonConversion, SelectPhotonLike, SelectPMin,
0055 SelectPMin>;
0056 }
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070 using StandardChargedElectroMagneticInteractions =
0071 InteractionList<detail::StandardScattering, detail::StandardBetheBloch,
0072 detail::StandardBetheHeitler>;
0073
0074
0075
0076
0077 StandardChargedElectroMagneticInteractions
0078 makeStandardChargedElectroMagneticInteractions(double minimumAbsMomentum);
0079
0080
0081 using StandardNeutralElectroMagneticInteractions =
0082 InteractionList<detail::StandardPhotonConversion>;
0083
0084
0085
0086
0087
0088
0089
0090
0091 StandardNeutralElectroMagneticInteractions
0092 makeStandardNeutralElectroMagneticInteractions(double minimumAbsMomentum);
0093
0094 }