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

Configuration for building a wire chamber detector. More...

#include <detray/test/common/build_wire_chamber.hpp>

Collaboration diagram for detray::wire_chamber_config< scalar_t, wire_shape_t >:
[legend]

Public Member Functions

constexpr wire_chamber_config & n_layers (const unsigned int n)
 Setters.
constexpr wire_chamber_config & first_layer_inner_radius (const scalar_t r)
 Set the first layer inner radius.
constexpr wire_chamber_config & half_z (const scalar_t hz)
 Set the half z.
constexpr wire_chamber_config & cell_size (const scalar_t c)
 Set the cell size.
constexpr wire_chamber_config & stereo_angle (const scalar_t s)
 Set the stereo angle.
constexpr wire_chamber_config & mat_radius (const scalar_t r)
 Set the mat radius.
constexpr wire_chamber_config & wire_material (const material< scalar_t > &m)
 Set the wire material.
volume_builder_options builder_options ()
 Return the builder options.
constexpr wire_chamber_config & do_check (const bool check)
 Set the do check.
constexpr unsigned int n_layers () const
 Getters.
constexpr scalar_t first_layer_inner_radius () const
 Return the first layer inner radius.
constexpr scalar_t half_z () const
 Return the half z.
constexpr scalar_t cell_size () const
 Return the cell size.
constexpr scalar_t stereo_angle () const
 Return the stereo angle.
constexpr scalar_t mat_radius () const
 Return the mat radius.
constexpr const material< scalar_t > & wire_material () const
 Return the wire material.
constexpr wire_layer_generator_config< scalar_t > & layer_config ()
 Return the layer config.
constexpr const wire_layer_generator_config< scalar_t > & layer_config () const
 Return the const wire layer configuration.
constexpr auto & material_config ()
 Return the material config.
constexpr const auto & material_config () const
 Return the const material configuration.
const volume_builder_options & builder_options () const
 Return the builder options.
constexpr bool do_check () const
 Return the do check.

Public Attributes

volume_builder_options m_builder_opts
 Volume builder configuration.
bool m_do_check {true}
 Do a full detector consistency check after building.
scalar_t m_first_layer_inner_rad {500.f * unit<scalar_t>::mm}
 The inner radius of the first layer.
scalar_t m_half_z {1000.f * unit<scalar_t>::mm}
 Half z of cylinder chamber.
scalar_t m_mat_radius {15.f * unit<scalar_t>::um}
 Radius of the material rods.
hom_material_config< scalar_t > m_material_config {}
 Configuration for the homogeneous material generator.
unsigned int m_n_layers {10u}
 Number of layers.
wire_layer_generator_config< scalar_t > m_wire_factory_cfg {}
 Config for the wire generation (barrel).
material< scalar_t > m_wire_mat {tungsten<scalar_t>()}
 Type of material for the material rods.

Detailed Description

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
struct detray::wire_chamber_config< scalar_t, wire_shape_t >

Configuration for building a wire chamber detector.

Member Function Documentation

◆ builder_options() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
volume_builder_options detray::wire_chamber_config< scalar_t, wire_shape_t >::builder_options ( )

Return the builder options.

Returns
configured builder options

◆ builder_options() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
const volume_builder_options & detray::wire_chamber_config< scalar_t, wire_shape_t >::builder_options ( ) const

Return the builder options.

Returns
configured builder options

◆ cell_size() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
scalar_t detray::wire_chamber_config< scalar_t, wire_shape_t >::cell_size ( ) const
constexpr

Return the cell size.

Returns
configured cell size

◆ cell_size() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::cell_size ( const scalar_t c)
constexpr

Set the cell size.

Parameters
cwire cell size
Returns
reference to the updated configuration

◆ do_check() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
bool detray::wire_chamber_config< scalar_t, wire_shape_t >::do_check ( ) const
constexpr

Return the do check.

Returns
configured do check

◆ do_check() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::do_check ( const bool check)
constexpr

Set the do check.

Parameters
checkwhether to run the consistency check
Returns
reference to the updated configuration

◆ first_layer_inner_radius() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
scalar_t detray::wire_chamber_config< scalar_t, wire_shape_t >::first_layer_inner_radius ( ) const
constexpr

Return the first layer inner radius.

Returns
configured first layer inner radius

◆ first_layer_inner_radius() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::first_layer_inner_radius ( const scalar_t r)
constexpr

Set the first layer inner radius.

Parameters
rradius of the first layer
Returns
reference to the updated configuration

◆ half_z() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
scalar_t detray::wire_chamber_config< scalar_t, wire_shape_t >::half_z ( ) const
constexpr

Return the half z.

Returns
configured half z

◆ half_z() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::half_z ( const scalar_t hz)
constexpr

Set the half z.

Parameters
hzhalf length along z
Returns
reference to the updated configuration

◆ layer_config() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_layer_generator_config< scalar_t > & detray::wire_chamber_config< scalar_t, wire_shape_t >::layer_config ( )
constexpr

Return the layer config.

Returns
configured layer config

◆ layer_config() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
const wire_layer_generator_config< scalar_t > & detray::wire_chamber_config< scalar_t, wire_shape_t >::layer_config ( ) const
constexpr

Return the const wire layer configuration.

Returns
const wire layer configuration

◆ mat_radius() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
scalar_t detray::wire_chamber_config< scalar_t, wire_shape_t >::mat_radius ( ) const
constexpr

Return the mat radius.

Returns
configured mat radius

◆ mat_radius() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::mat_radius ( const scalar_t r)
constexpr

Set the mat radius.

Parameters
rradius of the first layer
Returns
reference to the updated configuration

◆ material_config() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
auto & detray::wire_chamber_config< scalar_t, wire_shape_t >::material_config ( )
constexpr

Return the material config.

Returns
configured material config

◆ material_config() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
const auto & detray::wire_chamber_config< scalar_t, wire_shape_t >::material_config ( ) const
constexpr

Return the const material configuration.

Returns
const homogeneous material configuration

◆ n_layers() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
unsigned int detray::wire_chamber_config< scalar_t, wire_shape_t >::n_layers ( ) const
constexpr

Getters.

Return the number of layers.

Returns
configured number of layers

◆ n_layers() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::n_layers ( const unsigned int n)
constexpr

Setters.

Set the number of layers.

Parameters
nnumber of layers
Returns
reference to the updated configuration

◆ stereo_angle() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
scalar_t detray::wire_chamber_config< scalar_t, wire_shape_t >::stereo_angle ( ) const
constexpr

Return the stereo angle.

Returns
configured stereo angle

◆ stereo_angle() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::stereo_angle ( const scalar_t s)
constexpr

Set the stereo angle.

Parameters
sstereo angle
Returns
reference to the updated configuration

◆ wire_material() [1/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
const material< scalar_t > & detray::wire_chamber_config< scalar_t, wire_shape_t >::wire_material ( ) const
constexpr

Return the wire material.

Returns
configured wire material

◆ wire_material() [2/2]

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
wire_chamber_config & detray::wire_chamber_config< scalar_t, wire_shape_t >::wire_material ( const material< scalar_t > & m)
constexpr

Set the wire material.

Parameters
mwire material
Returns
reference to the updated configuration

Member Data Documentation

◆ m_builder_opts

template<concepts::scalar scalar_t, typename wire_shape_t = line_square>
volume_builder_options detray::wire_chamber_config< scalar_t, wire_shape_t >::m_builder_opts
Initial value:
{.m_deduplicate = false,
.m_sort = false}

Volume builder configuration.