![]() |
|
|||
File indexing completed on 2025-07-05 08:11:05
0001 // This file is part of the ACTS project. 0002 // 0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project 0004 // 0005 // This Source Code Form is subject to the terms of the Mozilla Public 0006 // License, v. 2.0. If a copy of the MPL was not distributed with this 0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/. 0008 0009 #pragma once 0010 0011 #include "Acts/Definitions/PdgParticle.hpp" 0012 #include "Acts/Material/MaterialSlab.hpp" 0013 0014 namespace Acts { 0015 0016 /// Compute the mean energy loss due to ionisation and excitation. 0017 /// 0018 /// @param slab The traversed material and its properties 0019 /// @param m Particle mass 0020 /// @param qOverP Particle charge divided by absolute momentum 0021 /// @param absQ Absolute particle charge 0022 /// 0023 /// This computes the mean energy loss -dE(x) through a material with 0024 /// the given properties, i.e. it computes 0025 /// 0026 /// -dE(x) = -dE/dx * x 0027 /// 0028 /// where -dE/dx is given by the Bethe formula. The computations are valid 0029 /// for intermediate particle energies. 0030 float computeEnergyLossBethe(const MaterialSlab& slab, float m, float qOverP, 0031 float absQ); 0032 /// Derivative of the Bethe energy loss with respect to q/p. 0033 /// 0034 /// @copydoc computeEnergyLossBethe 0035 float deriveEnergyLossBetheQOverP(const MaterialSlab& slab, float m, 0036 float qOverP, float absQ); 0037 0038 /// Compute the most propable energy loss due to ionisation and excitation. 0039 /// 0040 /// @copydoc computeEnergyLossBethe 0041 /// 0042 /// This computes the most probable energy loss -dE(x) through a material of 0043 /// the given properties and thickness as described by the mode of the 0044 /// Landau-Vavilov-Bichsel distribution. The computations are valid 0045 /// for intermediate particle energies. 0046 float computeEnergyLossLandau(const MaterialSlab& slab, float m, float qOverP, 0047 float absQ); 0048 /// Derivative of the most probable ionisation energy loss with respect to q/p. 0049 /// 0050 /// @copydoc computeEnergyLossBethe 0051 float deriveEnergyLossLandauQOverP(const MaterialSlab& slab, float m, 0052 float qOverP, float absQ); 0053 0054 /// Compute the Gaussian-equivalent sigma for the ionisation loss fluctuations. 0055 /// 0056 /// @see computeEnergyLossBethe for parameters description 0057 /// 0058 /// This is the sigma parameter of a Gaussian distribution with the same 0059 /// full-width-half-maximum as the Landau-Vavilov-Bichsel distribution. The 0060 /// computations are valid for intermediate particle energies. 0061 float computeEnergyLossLandauSigma(const MaterialSlab& slab, float m, 0062 float qOverP, float absQ); 0063 0064 /// Compute the full with half maximum of landau energy loss distribution 0065 /// 0066 /// @see computeEnergyLossBethe for parameters description 0067 float computeEnergyLossLandauFwhm(const MaterialSlab& slab, float m, 0068 float qOverP, float absQ); 0069 0070 /// Compute q/p Gaussian-equivalent sigma due to ionisation loss fluctuations. 0071 /// 0072 /// @copydoc computeEnergyLossBethe 0073 float computeEnergyLossLandauSigmaQOverP(const MaterialSlab& slab, float m, 0074 float qOverP, float absQ); 0075 0076 /// Compute the mean energy loss due to radiative effects at high energies. 0077 /// 0078 /// @param slab The traversed material and its properties 0079 /// @param absPdg Absolute particle type PDG identifier 0080 /// @param m Particle mass 0081 /// @param qOverP Particle charge divided by absolute momentum 0082 /// @param absQ Absolute particle charge 0083 /// 0084 /// This computes the mean energy loss -dE(x) using an approximative formula. 0085 /// Bremsstrahlung is always included; direct e+e- pair production and 0086 /// photo-nuclear interactions only for muons. 0087 float computeEnergyLossRadiative(const MaterialSlab& slab, PdgParticle absPdg, 0088 float m, float qOverP, float absQ); 0089 /// Derivative of the mean radiative energy loss with respect to q/p. 0090 /// 0091 /// @copydoc computeEnergyLossRadiative 0092 float deriveEnergyLossRadiativeQOverP(const MaterialSlab& slab, 0093 PdgParticle absPdg, float m, float qOverP, 0094 float absQ); 0095 0096 /// Compute the combined mean energy loss. 0097 /// 0098 /// @param slab The traversed material and its properties 0099 /// @param absPdg Absolute particle type PDG identifier 0100 /// @param m Particle mass 0101 /// @param qOverP Particle charge divided by absolute momentum 0102 /// @param absQ Absolute particle charge 0103 /// 0104 /// This computes the combined mean energy loss -dE(x) including ionisation and 0105 /// radiative effects. The computations are valid over a wide range of particle 0106 /// energies. 0107 float computeEnergyLossMean(const MaterialSlab& slab, PdgParticle absPdg, 0108 float m, float qOverP, float absQ); 0109 /// Derivative of the combined mean energy loss with respect to q/p. 0110 /// 0111 /// @copydoc computeEnergyLossMean 0112 float deriveEnergyLossMeanQOverP(const MaterialSlab& slab, PdgParticle absPdg, 0113 float m, float qOverP, float absQ); 0114 0115 /// Compute the combined most probably energy loss. 0116 /// 0117 /// @copydoc computeEnergyLossMean 0118 float computeEnergyLossMode(const MaterialSlab& slab, PdgParticle absPdg, 0119 float m, float qOverP, float absQ); 0120 /// Derivative of the combined most probable energy loss with respect to q/p. 0121 /// 0122 /// @copydoc computeEnergyLossMean 0123 float deriveEnergyLossModeQOverP(const MaterialSlab& slab, PdgParticle absPdg, 0124 float m, float qOverP, float absQ); 0125 0126 /// Compute the core width of the projected planar scattering distribution. 0127 /// 0128 /// @param slab The traversed material and its properties 0129 /// @param absPdg Absolute particle type PDG identifier 0130 /// @param m Particle mass 0131 /// @param qOverP Particle charge divided by absolute momentum 0132 /// @param absQ Absolute particle charge 0133 float computeMultipleScatteringTheta0(const MaterialSlab& slab, 0134 PdgParticle absPdg, float m, float qOverP, 0135 float absQ); 0136 0137 /// Approximate the core width of the projected planar scattering distribution 0138 /// with highland's formula. 0139 /// 0140 /// @param xOverX0 The thickness of the material in radiation lengths 0141 /// @return The approximate scattering angle times momentum in radians*GeV 0142 float approximateHighlandScattering(float xOverX0); 0143 0144 } // namespace Acts
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |