ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::MaterialComposition Struct Reference

#include <Material.h>

Inheritance diagram for Trk::MaterialComposition:
Collaboration diagram for Trk::MaterialComposition:

Public Member Functions

 MaterialComposition ()
 default constructors
 MaterialComposition (const MaterialComposition &)=default
 MaterialComposition (MaterialComposition &&)=default
MaterialCompositionoperator= (const MaterialComposition &)=default
MaterialCompositionoperator= (MaterialComposition &&)=default
 ~MaterialComposition ()
 MaterialComposition (const std::vector< unsigned char > &iel, const std::vector< unsigned char > &ifrac)
 constructor for persistency (1), size optimized
 MaterialComposition (const std::vector< std::pair< unsigned char, unsigned char > > &efracs)
 constructor for persistency (2), size optimized
 MaterialComposition (const std::vector< ElementFraction > &mc)
 Copy constructor from base class.
MaterialCompositionoperator= (const std::vector< ElementFraction > &mc)
 assignment operator from base class
MaterialCompositionoperator= (const std::vector< std::pair< unsigned char, unsigned char > > &efracs)
 assignment operator for persistency (2)

Public Attributes

elements
 STL member.

Detailed Description

Definition at line 61 of file Material.h.

Constructor & Destructor Documentation

◆ MaterialComposition() [1/6]

Trk::MaterialComposition::MaterialComposition ( )
inline

default constructors

Definition at line 64 of file Material.h.

64: std::vector<ElementFraction>() {}

◆ MaterialComposition() [2/6]

Trk::MaterialComposition::MaterialComposition ( const MaterialComposition & )
default

◆ MaterialComposition() [3/6]

Trk::MaterialComposition::MaterialComposition ( MaterialComposition && )
default

◆ ~MaterialComposition()

Trk::MaterialComposition::~MaterialComposition ( )
inline

Definition at line 69 of file Material.h.

69{}

◆ MaterialComposition() [4/6]

Trk::MaterialComposition::MaterialComposition ( const std::vector< unsigned char > & iel,
const std::vector< unsigned char > & ifrac )
inline

constructor for persistency (1), size optimized

Definition at line 72 of file Material.h.

73 {
74 reserve(iel.size());
75 for (std::size_t elvc = 0; elvc < iel.size() && !ifrac.empty(); ++elvc)
76 push_back(ElementFraction(iel[elvc], ifrac[elvc]));
77 }

◆ MaterialComposition() [5/6]

Trk::MaterialComposition::MaterialComposition ( const std::vector< std::pair< unsigned char, unsigned char > > & efracs)
inline

constructor for persistency (2), size optimized

Definition at line 80 of file Material.h.

81 {
82 reserve(efracs.size());
83 for (auto& efracIt : efracs) push_back(efracIt);
84 }

◆ MaterialComposition() [6/6]

Trk::MaterialComposition::MaterialComposition ( const std::vector< ElementFraction > & mc)
inline

Copy constructor from base class.

Definition at line 87 of file Material.h.

88 : std::vector<ElementFraction>(mc) {}

Member Function Documentation

◆ operator=() [1/4]

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

◆ operator=() [2/4]

MaterialComposition & Trk::MaterialComposition::operator= ( const std::vector< ElementFraction > & mc)
inline

assignment operator from base class

Definition at line 91 of file Material.h.

91 {
92 if (this != &mc) {
93 std::vector<ElementFraction>::operator=(mc);
94 }
95 return (*this);
96 }

◆ operator=() [3/4]

MaterialComposition & Trk::MaterialComposition::operator= ( const std::vector< std::pair< unsigned char, unsigned char > > & efracs)
inline

assignment operator for persistency (2)

Definition at line 99 of file Material.h.

100 {
101 clear();
102 reserve(efracs.size());
103 for (auto& efracIt : efracs) push_back(efracIt);
104 return (*this);
105 }

◆ operator=() [4/4]

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

Member Data Documentation

◆ elements

T std::vector< T >::elements
inherited

STL member.


The documentation for this struct was generated from the following file: