File ProtoVolumeMaterial.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent


this is foreseen for the ‘Geometry’ module

class ProtoVolumeMaterial : public Acts::IVolumeMaterial
#include <Acts/Material/ProtoVolumeMaterial.hpp>

proxy to VolumeMaterial hand over BinUtility

The ProtoVolumeMaterial class acts as a proxy to the VolumeMaterial to mark the volume on which the material should be mapped on at construction time of the geometry and to hand over the granularity of of the material map with the bin Utility.

Public Functions

ProtoVolumeMaterial() = default

Constructor without BinUtility - homogenous material.

ProtoVolumeMaterial(const BinUtility &binUtility)

Constructor with BinUtility - multidimensional material.


binUtility – a BinUtility determining the granularity and binning of the material on the volume

ProtoVolumeMaterial(const ProtoVolumeMaterial &vmproxy) = default

Copy constuctor.


vmproxy – The source proxy

ProtoVolumeMaterial(ProtoVolumeMaterial &&vmproxy) = default

Copy move constuctor.


vmproxy – The source proxy

~ProtoVolumeMaterial() override = default


inline const BinUtility &binUtility() const

Return the BinUtility.

Return the bin Utility.

inline virtual const Material material(const Vector3&) const final

Return the material.

ProtoVolumeMaterial &operator=(const ProtoVolumeMaterial &vmproxy) = default

Assignment operator.


vmproxy – The source proxy

virtual std::ostream &toStream(std::ostream &sl) const final

Output Method for std::ostream.


sl – The outoput stream

Private Members

BinUtility m_binUtility
Material m_material