ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::MaterialComposition Class Reference

Material composed from multiple elements with varying factions. More...

#include <Acts/Material/MaterialComposition.hpp>

Public Member Functions

 MaterialComposition ()=default
 Construct an empty composition corresponding to vacuum.
 MaterialComposition (const MaterialComposition &)=default
 Copy constructor.
 MaterialComposition (MaterialComposition &&)=default
 Move constructor.
 MaterialComposition (std::vector< ElementFraction > elements)
 Constructor from element fractions.
 ~MaterialComposition ()=default
auto begin () const
 Support range-based iteration over contained elements.
auto end () const
 Get iterator to end of elements.
 operator bool () const
 Check if the composed material is valid, i.e. it is not vacuum.
MaterialCompositionoperator= (const MaterialComposition &)=default
 Copy assignment operator.
MaterialCompositionoperator= (MaterialComposition &&)=default
 Move assignment operator.
std::size_t size () const
 Return the number of elements.

Detailed Description

Material composed from multiple elements with varying factions.

See also
ElementFraction for details.

Constructor & Destructor Documentation

◆ MaterialComposition() [1/4]

Acts::MaterialComposition::MaterialComposition ( )
default

Construct an empty composition corresponding to vacuum.

◆ MaterialComposition() [2/4]

Acts::MaterialComposition::MaterialComposition ( std::vector< ElementFraction > elements)
explicit

Constructor from element fractions.

Rescales the fractions so they all add up to unity within the accuracy.

Parameters
elementsVector of element fractions that define the composition

◆ MaterialComposition() [3/4]

Acts::MaterialComposition::MaterialComposition ( MaterialComposition && )
default

Move constructor.

◆ MaterialComposition() [4/4]

Acts::MaterialComposition::MaterialComposition ( const MaterialComposition & )
default

Copy constructor.

◆ ~MaterialComposition()

Acts::MaterialComposition::~MaterialComposition ( )
default

Member Function Documentation

◆ begin()

auto Acts::MaterialComposition::begin ( ) const

Support range-based iteration over contained elements.

Returns
Iterator to the first element

◆ end()

auto Acts::MaterialComposition::end ( ) const

Get iterator to end of elements.

Returns
Iterator past the last element

◆ operator bool()

Acts::MaterialComposition::operator bool ( ) const
explicit

Check if the composed material is valid, i.e. it is not vacuum.

◆ operator=() [1/2]

MaterialComposition & Acts::MaterialComposition::operator= ( const MaterialComposition & )
default

Copy assignment operator.

Returns
Reference to this material composition after copy assignment

◆ operator=() [2/2]

MaterialComposition & Acts::MaterialComposition::operator= ( MaterialComposition && )
default

Move assignment operator.

Returns
Reference to this material composition after move assignment

◆ size()

std::size_t Acts::MaterialComposition::size ( ) const

Return the number of elements.

Returns
The number of elements in the composition