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

Bind components for material together. More...

#include <detray/builders/homogeneous_material_factory.hpp>

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

Public Member Functions

constexpr material_data (const scalar_t thickness, const material< scalar_t > &mat, const std::size_t sf_idx=detail::invalid_value< std::size_t >())
 Construct from a predefined material.
constexpr material_data (const scalar_t thickness, const std::vector< scalar_t > &material_paramters, const material_state state=material_state::e_solid, const std::size_t sf_idx=detail::invalid_value< std::size_t >())
 Construct from all parameters:
constexpr material_data (const std::size_t sf_idx=detail::invalid_value< std::size_t >())
 Construct empty data for a given surface.
void append (const scalar_t thickness, const material< scalar_t > &mat)
 Append new material.
void append (const scalar_t thickness, const std::vector< scalar_t > &material_paramters, const material_state state=material_state::e_solid)
 Append new material.
void append (material_data &&other)
 Append new material from.
constexpr auto get_data () -> std::tuple< std::size_t &, std::vector< material< scalar_t > > &, std::vector< scalar_t > & >

Detailed Description

template<concepts::scalar scalar_t>
class detray::material_data< scalar_t >

Bind components for material together.

Constructor & Destructor Documentation

◆ material_data() [1/3]

template<concepts::scalar scalar_t>
detray::material_data< scalar_t >::material_data ( const std::size_t sf_idx = detail::invalid_value<std::size_t>())
explicitconstexpr

Construct empty data for a given surface.

Parameters
sf_idxthe index of the surface this material belongs to, needs to be passed only if a special oredering must be observed

◆ material_data() [2/3]

template<concepts::scalar scalar_t>
detray::material_data< scalar_t >::material_data ( const scalar_t thickness,
const material< scalar_t > & mat,
const std::size_t sf_idx = detail::invalid_value<std::size_t>() )
constexpr

Construct from a predefined material.

Parameters
matpredefined material, see 'detray/material/predefined_materials.hpp'
thicknessof the material slab/rod
sf_idxthe index of the surface this material belongs to, needs to be passed only if a special oredering must be observed

◆ material_data() [3/3]

template<concepts::scalar scalar_t>
detray::material_data< scalar_t >::material_data ( const scalar_t thickness,
const std::vector< scalar_t > & material_paramters,
const material_state state = material_state::e_solid,
const std::size_t sf_idx = detail::invalid_value<std::size_t>() )
constexpr

Construct from all parameters:

Parameters
thicknessof the material slab/rod
material_paramtersVector containing radiation length, nuclear interaction length, relative atomic mass, charge number, and molar density.
stateof the material (liquid, solid etc.)
sf_idxthe index of the surface this material belongs to, needs to be passed only if a special oredering must be observed

Member Function Documentation

◆ append() [1/3]

template<concepts::scalar scalar_t>
void detray::material_data< scalar_t >::append ( const scalar_t thickness,
const material< scalar_t > & mat )

Append new material.

Parameters
thicknessof the material slab/rod
matpredefined material, see 'detray/material/predefined_materials.hpp'

◆ append() [2/3]

template<concepts::scalar scalar_t>
void detray::material_data< scalar_t >::append ( const scalar_t thickness,
const std::vector< scalar_t > & material_paramters,
const material_state state = material_state::e_solid )

Append new material.

Parameters
thicknessof the material slab/rod
material_paramtersVector containing radiation length, nuclear interaction length, relative atomic mass, charge number, and molar density.
stateof the material (liquid, solid etc.)

◆ append() [3/3]

template<concepts::scalar scalar_t>
void detray::material_data< scalar_t >::append ( material_data< scalar_t > && other)

Append new material from.

Parameters
othermaterial_data - move

◆ get_data()

template<concepts::scalar scalar_t>
auto detray::material_data< scalar_t >::get_data ( ) ->std::tuple< std::size_t &, std::vector< material< scalar_t > > &, std::vector< scalar_t > & >
constexpr
Returns
tuple based access to the contained material data.