18 const std::vector<std::vector<MaterialComposition> >& composition,
97 size_t bin0,
size_t bin1)
const
104 if (thickness == 0.)
return nullptr;
114 double fraction = eFraction.fraction();
141 p.set (std::make_unique<Trk::MaterialProperties>
148 sl <<
"Trk::CompoundLayerMaterial : \n";
149 sl <<
" - Number of Material bins (1/2) : " <<
m_binUtility->max(0) + 1
155 sl <<
"Trk::CompoundLayerMaterial : " << std::endl;
156 sl <<
" - Number of Material bins (1/2) : " <<
m_binUtility->max(0) + 1
A generic symmetric BinUtility, for fully symmetric binning in terms of binning grid and binning type...
BinUtility * clone() const
Implizit Constructor.
It extends the LayerMaterialProperties base class, and has a intrinsic accuracy of about 0....
CompoundLayerMaterial()=default
Default Constructor - needed by POOL.
ValueStore m_rhoBins
rho parameter (averaged)
std::vector< std::vector< MaterialPropertiesCUP > > m_materialProperties
the ones you return
virtual ~CompoundLayerMaterial() override
Destructor.
bool m_fullComposition
full composition calculation
virtual const MaterialProperties * fullMaterial(const Amg::Vector3D &gp) const override final
Return method for full material description of the Layer.
std::shared_ptr< const ElementTable > m_elementTable
virtual CompoundLayerMaterial & operator*=(double scale) override final
Scale operator.
ValueStore m_thicknessBins
thickness parameter
ValueStore m_x0Bins
x0 parameter
void resizeMaterialProperties()
CxxUtils::CachedUniquePtr< MaterialProperties > MaterialPropertiesCUP
ValueStore m_aBins
A parameters (averaged)
CompoundLayerMaterial & operator=(const CompoundLayerMaterial &lmp)
Assignment operator.
ValueStore m_zBins
Z parameter (averaged)
virtual const MaterialProperties * material(size_t bin0, size_t bin1) const override final
Access the single bin.
virtual MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream, to be overloaded by child classes.
std::vector< std::vector< MaterialComposition > > m_composition
composition matrix
virtual CompoundLayerMaterial * clone() const override final
Pseudo-Constructor clone()
BinUtility * m_binUtility
the helper for the bin finding
ValueStore m_l0Bins
l0 parameter
LayerMaterialProperties()
Constructor.
Material with information about thickness of material.
A common object to be contained by.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
@ z
global position (cartesian)