ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::interaction< scalar_t > Struct Template Reference

Computes energy loss and multiple scattering in detector material. More...

#include <detray/material/interaction.hpp>

Inheritance diagram for detray::interaction< scalar_t >:
[legend]

Public Types

using relativistic_quantities = detail::relativistic_quantities<scalar_type>
 Cached particle kinematics used by the interaction formulas.
using scalar_type = scalar_t
 Scalar type used by the interaction calculations.

Public Member Functions

scalar_type compute_bethe_bloch (const detray::material< scalar_type > &mat, const pdg_particle< scalar_type > &, const relativistic_quantities &rq) const
 Compute the collisional stopping power from the Bethe–Bloch expression.
scalar_type compute_bremsstrahlung (const detray::material< scalar_type > &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Estimate electron or positron radiative stopping power using Rossi’s approximation.
scalar_type compute_energy_loss_bethe_bloch (const scalar_type path_segment, const detray::material< scalar_type > &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Compute the collisional energy loss over a path segment.
scalar_type compute_energy_loss_landau (const scalar_type path_segment, const material< scalar_type > &mat, const pdg_particle< scalar_type > &, const relativistic_quantities &rq) const
 Compute the most-probable energy loss using the Landau approximation.
scalar_type compute_energy_loss_landau_fwhm (const scalar_type path_segment, const material< scalar_type > &mat, const pdg_particle< scalar_type > &, const relativistic_quantities &rq) const
 Compute the Landau energy-loss distribution full width at half maximum.
scalar_type compute_energy_loss_landau_sigma (const scalar_type path_segment, const material< scalar_type > &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Convert the Landau width to a Gaussian-equivalent energy-loss sigma.
template<typename material_t>
scalar_type compute_energy_loss_landau_sigma_QOverP (const scalar_type path_segment, const material_t &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Convert energy-loss sigma to a q/p uncertainty.
scalar_type compute_multiple_scattering_theta0 (const scalar_type xOverX0, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Estimate the projected multiple-scattering angle for a material thickness.
scalar_type compute_stopping_power (const detray::material< scalar_type > &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Sum collisional and radiative stopping-power contributions.
scalar_type derive_bethe_bloch (const detray::material< scalar_type > &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Differentiate the Bethe–Bloch stopping power with respect to q/p.
scalar_type derive_bremsstrahlung (const detray::material< scalar_type > &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Differentiate the bremsstrahlung stopping power with respect to q/p.
scalar_type derive_stopping_power (const detray::material< scalar_type > &mat, const pdg_particle< scalar_type > &ptc, const relativistic_quantities &rq) const
 Differentiate the total stopping power with respect to q/p.

Detailed Description

template<concepts::scalar scalar_t>
struct detray::interaction< scalar_t >

Computes energy loss and multiple scattering in detector material.

Member Function Documentation

◆ compute_bethe_bloch()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_bethe_bloch ( const detray::material< scalar_type > & mat,
const pdg_particle< scalar_type > & ,
const relativistic_quantities & rq ) const

Compute the collisional stopping power from the Bethe–Bloch expression.

Parameters
matmaterial traversed by the particle
rqcached relativistic quantities for the particle
Returns
computed interaction quantity in the corresponding units

◆ compute_bremsstrahlung()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_bremsstrahlung ( const detray::material< scalar_type > & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Estimate electron or positron radiative stopping power using Rossi’s approximation.

Parameters
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
computed interaction quantity in the corresponding units

◆ compute_energy_loss_bethe_bloch()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_energy_loss_bethe_bloch ( const scalar_type path_segment,
const detray::material< scalar_type > & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Compute the collisional energy loss over a path segment.

Parameters
path_segmentdistance travelled in the material
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
computed interaction quantity in the corresponding units

◆ compute_energy_loss_landau()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_energy_loss_landau ( const scalar_type path_segment,
const material< scalar_type > & mat,
const pdg_particle< scalar_type > & ,
const relativistic_quantities & rq ) const

Compute the most-probable energy loss using the Landau approximation.

Parameters
path_segmentdistance travelled in the material
matmaterial traversed by the particle
rqcached relativistic quantities for the particle
Returns
most-probable energy loss for the segment

◆ compute_energy_loss_landau_fwhm()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_energy_loss_landau_fwhm ( const scalar_type path_segment,
const material< scalar_type > & mat,
const pdg_particle< scalar_type > & ,
const relativistic_quantities & rq ) const

Compute the Landau energy-loss distribution full width at half maximum.

Parameters
path_segmentdistance travelled in the material
matmaterial traversed by the particle
rqcached relativistic quantities for the particle
Returns
full width at half maximum of the energy-loss distribution

◆ compute_energy_loss_landau_sigma()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_energy_loss_landau_sigma ( const scalar_type path_segment,
const material< scalar_type > & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Convert the Landau width to a Gaussian-equivalent energy-loss sigma.

Parameters
path_segmentdistance travelled in the material
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
Gaussian-equivalent standard deviation of the energy loss

◆ compute_energy_loss_landau_sigma_QOverP()

template<concepts::scalar scalar_t>
template<typename material_t>
scalar_type detray::interaction< scalar_t >::compute_energy_loss_landau_sigma_QOverP ( const scalar_type path_segment,
const material_t & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Convert energy-loss sigma to a q/p uncertainty.

Parameters
path_segmentdistance travelled in the material
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
standard deviation in q/p units

◆ compute_multiple_scattering_theta0()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_multiple_scattering_theta0 ( const scalar_type xOverX0,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Estimate the projected multiple-scattering angle for a material thickness.

Parameters
xOverX0material thickness in radiation lengths
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
computed interaction quantity in the corresponding units

◆ compute_stopping_power()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::compute_stopping_power ( const detray::material< scalar_type > & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Sum collisional and radiative stopping-power contributions.

Parameters
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
computed interaction quantity in the corresponding units

◆ derive_bethe_bloch()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::derive_bethe_bloch ( const detray::material< scalar_type > & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Differentiate the Bethe–Bloch stopping power with respect to q/p.

Returns
computed derivative in the corresponding units Differentiate Bethe–Bloch stopping power with respect to q/p.
Parameters
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
derivative of stopping power with respect to q/p

◆ derive_bremsstrahlung()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::derive_bremsstrahlung ( const detray::material< scalar_type > & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Differentiate the bremsstrahlung stopping power with respect to q/p.

Parameters
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
computed derivative in the corresponding units

◆ derive_stopping_power()

template<concepts::scalar scalar_t>
scalar_type detray::interaction< scalar_t >::derive_stopping_power ( const detray::material< scalar_type > & mat,
const pdg_particle< scalar_type > & ptc,
const relativistic_quantities & rq ) const

Differentiate the total stopping power with respect to q/p.

Returns
computed derivative in the corresponding units Differentiate total stopping power with respect to q/p.
Parameters
matmaterial traversed by the particle
ptcparticle hypothesis
rqcached relativistic quantities for the particle
Returns
derivative of stopping power with respect to q/p