ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Interactions.hpp
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Interactions.hpp
1 // This file is part of the Acts project.
2 //
3 // Copyright (C) 2018-2020 CERN for the benefit of the Acts project
4 //
5 // This Source Code Form is subject to the terms of the Mozilla Public
6 // License, v. 2.0. If a copy of the MPL was not distributed with this
7 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9 #pragma once
10 
11 #include <utility>
12 
14 #include "Acts/Utilities/Units.hpp"
15 
16 namespace Acts {
17 
33 float computeEnergyLossBethe(const MaterialProperties& slab, int pdg, float m,
34  float qOverP, float q = UnitConstants::e);
38 float deriveEnergyLossBetheQOverP(const MaterialProperties& slab, int pdg,
39  float m, float qOverP,
40  float q = UnitConstants::e);
41 
50 float computeEnergyLossLandau(const MaterialProperties& slab, int pdg, float m,
51  float qOverP, float q = UnitConstants::e);
55 float deriveEnergyLossLandauQOverP(const MaterialProperties& slab, int pdg,
56  float m, float qOverP,
57  float q = UnitConstants::e);
58 
66 float computeEnergyLossLandauSigma(const MaterialProperties& slab, int pdg,
67  float m, float qOverP,
68  float q = UnitConstants::e);
72 float computeEnergyLossLandauSigmaQOverP(const MaterialProperties& slab,
73  int pdg, float m, float qOverP,
74  float q = UnitConstants::e);
75 
87 float computeEnergyLossRadiative(const MaterialProperties& slab, int pdg,
88  float m, float qOverP,
89  float q = UnitConstants::e);
93 float deriveEnergyLossRadiativeQOverP(const MaterialProperties& slab, int pdg,
94  float m, float qOverP,
95  float q = UnitConstants::e);
96 
108 float computeEnergyLossMean(const MaterialProperties& slab, int pdg, float m,
109  float qOverP, float q = UnitConstants::e);
113 float deriveEnergyLossMeanQOverP(const MaterialProperties& slab, int pdg,
114  float m, float qOverP,
115  float q = UnitConstants::e);
116 
120 float computeEnergyLossMode(const MaterialProperties& slab, int pdg, float m,
121  float qOverP, float q = UnitConstants::e);
125 float deriveEnergyLossModeQOverP(const MaterialProperties& slab, int pdg,
126  float m, float qOverP,
127  float q = UnitConstants::e);
128 
136 float computeMultipleScatteringTheta0(const MaterialProperties& slab, int pdg,
137  float m, float qOverP,
138  float q = UnitConstants::e);
139 
140 } // namespace Acts