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

Compile-time material mixture type. More...

#include <detray/material/mixture.hpp>

Inheritance diagram for detray::mixture< scalar_t, material_types >:
[legend]
Collaboration diagram for detray::mixture< scalar_t, material_types >:
[legend]

Public Types

using ratio = typename ratio_sum<typename material_types::ratio...>::ratio
 Ratio type used for material-component fractions.
Public Types inherited from detray::material< scalar_t, ratio_sum< material_types::ratio... >::ratio >
using ratio
 Compile-time fraction represented by this material component.
using scalar_type
 Scalar type for material properties.

Public Member Functions

constexpr mixture ()
 Constructor.
Public Member Functions inherited from detray::material< scalar_t, ratio_sum< material_types::ratio... >::ratio >
constexpr scalar_type Ar () const
constexpr const detail::density_effect_data< scalar_type > & density_effect_data () const
constexpr scalar_type fraction () const
 Return this component's compile-time mass fraction.
bool has_density_effect_data () const
constexpr scalar_type L0 () const
constexpr scalar_type mass_density () const
scalar_type mean_excitation_energy () const
constexpr scalar_type molar_density () const
 mass_density / A
constexpr scalar_type molar_electron_density () const
 (Z/A) * mass_density
constexpr bool operator!= (const material< scalar_type > &rhs) const
 Equality operator.
constexpr bool operator== (const material< scalar_type > &rhs) const
 Equality operator.
constexpr material_state state () const
std::string to_string () const
constexpr scalar_type X0 () const
constexpr scalar_type Z () const

Additional Inherited Members

Protected Member Functions inherited from detray::material< scalar_t, ratio_sum< material_types::ratio... >::ratio >
constexpr scalar_type mass_to_molar_density (double ar, double mass_rho)
 Convert mass density to molar density using relative atomic mass.
constexpr void set_Ar (scalar_type ar)
 Set the relative atomic mass.
constexpr void set_L0 (scalar_type l0)
 Set the nuclear interaction length.
constexpr void set_mass_density (scalar_type mass_rho)
 Set the mass density.
constexpr void set_molar_density (scalar_type molar_rho)
 Set the molar density.
constexpr void set_X0 (scalar_type x0)
 Set the radition length.
constexpr void set_Z (scalar_type z)
 Set the nuclear charge number.

Detailed Description

template<concepts::scalar scalar_t, typename... material_types>
struct detray::mixture< scalar_t, material_types >

Compile-time material mixture type.

The summation of ratios should be equal to one