File HomogeneousSurfaceMaterial.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

class HomogeneousSurfaceMaterial : public Acts::ISurfaceMaterial
#include <Acts/Material/HomogeneousSurfaceMaterial.hpp>

It extends the ISurfaceMaterial virutal base class to describe a simple homogeneous material on a surface.

Public Functions

HomogeneousSurfaceMaterial() = default

Default Constructor - defaulted.

HomogeneousSurfaceMaterial(const MaterialSlab &full, double splitFactor = 1., MappingType mappingType = MappingType::Default)

Explicit constructor.

Parameters
  • full – are the full material properties

  • splitFactor – is the split for pre/post update

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

HomogeneousSurfaceMaterial(const HomogeneousSurfaceMaterial &hsm) = default

Copy Constructor.

Parameters

hsm – is the source material

HomogeneousSurfaceMaterial(HomogeneousSurfaceMaterial &&hsm) = default

Copy Move Constructor.

Parameters

hsm – is the source material

~HomogeneousSurfaceMaterial() override = default

Destructor.

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

Return method for full material description of the Surface.

  • from local coordinate on the surface

Note

the input parameter is ignored

Parameters

lp – is the local position used for the (eventual) lookup

Returns

const MaterialSlab

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

Return method for full material description of the Surface.

  • from the global coordinates

Note

the input parameter is ignored

Parameters

gp – is the global position used for the (eventual) lookup

Returns

const MaterialSlab

inline virtual const MaterialSlab &materialSlab(size_t bin0, size_t bin1) const final

Direct access via bins to the MaterialSlab.

Note

the input parameters are ignored

Parameters
  • bin0 – is the material bin in dimension 0

  • bin1 – is the material bin in dimension 1

virtual HomogeneousSurfaceMaterial &operator*=(double scale) final

Scale operator.

  • it is effectively a thickness scaling

Parameters

scale – is the scale factor

HomogeneousSurfaceMaterial &operator=(const HomogeneousSurfaceMaterial &hsm) = default

Assignment operator.

Parameters

hsm – is the source material

HomogeneousSurfaceMaterial &operator=(HomogeneousSurfaceMaterial &&hsm) = default

Assignment Move operator.

Parameters

hsm – is the source material

inline bool operator==(const HomogeneousSurfaceMaterial &hsm) const

Equality operator.

Parameters

hsm – is the source material

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

Output Method for std::ostream.

Parameters

sl – The outoput stream

Private Members

MaterialSlab m_fullMaterial = MaterialSlab()

The five different MaterialSlab.