|
ACTS
Experiment-independent tracking
|
Memory-efficient storage of the relative fraction of an element. More...
#include <Acts/Material/MaterialComposition.hpp>
Public Member Functions | |
| ElementFraction ()=delete | |
| Must always be created with valid data. | |
| ElementFraction (const ElementFraction &)=default | |
| Copy constructor. | |
| ElementFraction (ElementFraction &&)=default | |
| Move constructor. | |
| constexpr | ElementFraction (unsigned int e, float f) |
| Construct from atomic number and relative fraction. | |
| constexpr | ElementFraction (unsigned int e, unsigned int w) |
| Construct from atomic number and integer weight. | |
| ~ElementFraction ()=default | |
| constexpr std::uint8_t | element () const |
| The element atomic number. | |
| constexpr float | fraction () const |
| The relative fraction of this element. | |
| ElementFraction & | operator= (const ElementFraction &)=default |
| Copy assignment operator. | |
| ElementFraction & | operator= (ElementFraction &&)=default |
| Move assignment operator. | |
Memory-efficient storage of the relative fraction of an element.
This can be used to define materials that are compounds of multiple elements with varying fractions. The element is identified by its atomic number stored as a single byte (allows up to 256 elements; more than we need). Its fraction is also stored as a single byte with values between 0 and
The element fraction allows you to store element composition in merged materials with a large number of bins. Depending on the detector and the description granularity this can be a lot of information and thus requires the reduced memory footprint. This is really only needed for nuclear interaction in the fast simulation where the reduced fractional accuracy is not a problem. The fractional accuracy should be much better than the parametrization uncertainty for hadronic interactions.
|
constexpr |
Construct from atomic number and relative fraction.
| e | is the atomic number of the element |
| f | is the relative fraction and must be a value in [0,1] |
|
explicitconstexpr |
Construct from atomic number and integer weight.
| e | is the atomic number of the element |
| w | is the integer weight and must be a value in [0,256) |
|
delete |
Must always be created with valid data.
|
default |
Move constructor.
|
default |
Copy constructor.
|
default |
|
constexpr |
The element atomic number.
|
constexpr |
The relative fraction of this element.
|
default |
Copy assignment operator.
|
default |
Move assignment operator.