9#ifndef TRKGEOMETRY_BINNEDLAYERMATERIAL_H
10#define TRKGEOMETRY_BINNEDLAYERMATERIAL_H
18#include "GaudiKernel/MsgStream.h"
53 double splitFactor=0.);
66 double splitFactor=0.);
99 virtual MsgStream&
dump(MsgStream& sl)
const override;
102 virtual std::ostream&
dump(std::ostream& sl)
const override;
105 friend class ::BinnedLayerMaterialCnv_p1;
A generic symmetric BinUtility, for fully symmetric binning in terms of binning grid and binning type...
BinnedLayerMaterial & operator=(const BinnedLayerMaterial &lmp)
Assignment operator.
virtual ~BinnedLayerMaterial() override
Destructor.
virtual const MaterialProperties * material(size_t bin0, size_t bin1) const override
Access the single bin.
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.
virtual void updateBinning(BinUtility *bu) override
Update the BinUtility if necessary - passing ownership of the utility class.
const MaterialPropertiesMatrix & fullMaterial() const
Return method for full material description of the Layer - for all bins.
BinUtility * m_binUtility
the helper for the bin finding
BinnedLayerMaterial()
Default Constructor - needed by POOL.
LayerMaterialProperties()
Constructor.
Material with information about thickness of material.
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