Class Acts::ProtoSurfaceMaterial

class ProtoSurfaceMaterial : public Acts::ISurfaceMaterial

proxy to SurfaceMaterial hand over BinUtility

The ProtoSurfaceMaterial class acts as a proxy to the SurfaceMaterial to mark the layers and surfaces 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

ProtoSurfaceMaterial() = default

Constructor without BinUtility - homogenous material.

ProtoSurfaceMaterial(const BinUtility &binUtility, MappingType mappingType = MappingType::Default)

Constructor with BinUtility - multidimensional material.

Parameters
  • binUtility – a BinUtility determining the granularity and binning of the material on the surface/layer

  • mappingType – is the type of surface mapping associated to the surface

ProtoSurfaceMaterial(const ProtoSurfaceMaterial &smproxy) = default

Copy constuctor.

Parameters

smproxy – The source proxy

ProtoSurfaceMaterial(ProtoSurfaceMaterial &&smproxy) = default

Copy move constuctor.

Parameters

smproxy – The source proxy

~ProtoSurfaceMaterial() override = default

Destructor.

inline const BinUtility &binUtility() const

Return the BinUtility.

inline virtual const MaterialSlab &materialSlab(const Vector2 &lp) const final

Return method for full material description of the Surface - from local coordinates.

Parameters

lp – is local positioning vector

Returns

will return dummy material

inline virtual const MaterialSlab &materialSlab(const Vector3 &gp) const final

Return method for full material description of the Surface - from the global coordinates.

Parameters

gp – is the global positioning vector

Returns

will return dummy material

inline virtual const MaterialSlab &materialSlab(size_t ib0, size_t ib1) const final

Direct access via bins to the MaterialSlab.

Parameters
  • ib0 – indicates the first bin

  • ib1 – indicates the seconf bin

Returns

will return dummy material

virtual ProtoSurfaceMaterial &operator*=(double scale) final

Scale operator.

Parameters

scale – The value to scale this material by

ProtoSurfaceMaterial &operator=(const ProtoSurfaceMaterial &smproxy) = default

Assignment operator.

Parameters

smproxy – The source proxy

ProtoSurfaceMaterial &operator=(ProtoSurfaceMaterial &&smproxy) = default

Assigment move operator.

Parameters

smproxy – The source proxy

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

Output Method for std::ostream, to be overloaded by child classes.