20 for (
unsigned int ibin2 = 0; ibin2 < (
unsigned int)binutility.
max(1) + 1;
24 matVec.reserve(binutility.
max(0) + 1);
25 for (
unsigned int ibin = 0; ibin < (
unsigned int)binutility.
max(0) + 1;
27 matVec.push_back(
nullptr);
68 Trk::LayerMaterialProperties::operator=(lmp);
87 for (
auto& matIter : matMatrixIter)
delete matIter;
96 for (
const auto& matMatrixIter : matMatrix) {
101 for (
const auto& matIter : matMatrixIter)
102 matVector.push_back(matIter ? matIter->clone() :
nullptr);
109 unsigned int imat2 = 0;
111 unsigned int imat1 = 0;
113 for (
auto& matIter : matMatrixIter) {
137 sl <<
"Trk::BinnedLayerMaterial : " << std::endl;
138 sl <<
" - Number of Material bins (1/2) : " <<
m_binUtility->max(0) + 1
140 sl <<
" - Parse full update material : " << std::endl;
142 unsigned int imat2 = 0;
144 unsigned int imat1 = 0;
146 for (
const auto& matIter : matMatrixIter) {
148 sl <<
" Bin [" << imat2 <<
"][" << imat1 <<
"] - " << (*matIter)
151 sl <<
" Bin [" << imat2 <<
"][" << imat1 <<
"] - empty " << std::endl;
160 sl <<
"Trk::BinnedLayerMaterial : " << std::endl;
161 sl <<
" - Number of Material bins (1/2) : " <<
m_binUtility->max(0) + 1
163 sl <<
" - Parse full update material : " << std::endl;
165 unsigned int imat2 = 0;
167 unsigned int imat1 = 0;
169 for (
const auto& matIter : matMatrixIter) {
171 sl <<
" Bin [" << imat2 <<
"][" << imat1 <<
"] - " << (*matIter)
174 sl <<
" Bin [" << imat2 <<
"][" << imat1 <<
"] - empty " << std::endl;
A generic symmetric BinUtility, for fully symmetric binning in terms of binning grid and binning type...
size_t max(size_t ba=0) const
First bin maximal value.
BinUtility * clone() const
Implizit Constructor.
It extends the LayerMaterialProperties base class.
BinnedLayerMaterial & operator=(const BinnedLayerMaterial &lmp)
Assignment operator.
virtual ~BinnedLayerMaterial() override
Destructor.
void fillMaterial(const MaterialPropertiesMatrix &matMatrix)
helper method - to refill the material
virtual BinnedLayerMaterial * clone() const override
Pseudo-Constructor clone()
virtual const BinUtility * binUtility() const override
Return the BinUtility.
void clearMaterial()
helper method - to clear the material
MaterialPropertiesMatrix m_fullMaterial
The five different MaterialProperties.
virtual BinnedLayerMaterial & operator*=(double scale) override
Scale operator.
const MaterialPropertiesMatrix & fullMaterial() const
Return method for full material description of the Layer - for all bins.
virtual MsgStream & dump(MsgStream &sl) const override
Output Method for MsgStream, to be overloaded by child classes.
BinUtility * m_binUtility
the helper for the bin finding
BinnedLayerMaterial()
Default Constructor - needed by POOL.
LayerMaterialProperties()
Constructor.
Material with information about thickness of material.
MaterialProperties * clone() const
Pseudo-Constructor clone()
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< const MaterialProperties * > MaterialPropertiesVector
Useful typedefs.
std::vector< std::vector< const MaterialProperties * > > MaterialPropertiesMatrix