Class BinnedSurfaceMaterial

Inheritance Relationships

Base Type

Class Documentation

class Acts::BinnedSurfaceMaterial : public Acts::ISurfaceMaterial

It extends the SurfaceMaterial base class and is an array pf MaterialSlab.

This is not memory optimised as every bin holds one material property object.

Public Functions

BinnedSurfaceMaterial() = delete

Default Constructor - deleted.

BinnedSurfaceMaterial(const BinUtility &binUtility, MaterialSlabVector fullProperties, double splitFactor = 0.)

Explicit constructor with only full MaterialSlab, for one-dimensional binning.

The split factors:

  • 1. : oppositePre

  • 0. : alongPre ===> 1 Dimensional array

Parameters
  • binUtility: defines the binning structure on the surface (copied)

  • fullProperties: is the vector of properties as recorded (moved)

  • splitFactor: is the pre/post splitting directive

BinnedSurfaceMaterial(const BinUtility &binUtility, MaterialSlabMatrix fullProperties, double splitFactor = 0.)

Explicit constructor with only full MaterialSlab, for two-dimensional binning.

The split factors:

  • 1. : oppositePre

  • 0. : alongPre ===> 1 Dimensional array

Parameters
  • binUtility: defines the binning structure on the surface (copied)

  • fullProperties: is the vector of properties as recorded (moved)

  • splitFactor: is the pre/post splitting directive

BinnedSurfaceMaterial(BinnedSurfaceMaterial &&bsm) = default

Copy Move Constructor.

Parameters
  • bsm: is the source object to be copied

BinnedSurfaceMaterial(const BinnedSurfaceMaterial &bsm) = default

Copy Constructor.

Parameters
  • bsm: is the source object to be copied

~BinnedSurfaceMaterial() override = default

Destructor.

const BinUtility &binUtility() const

Return the BinUtility.

const MaterialSlabMatrix &fullMaterial() const
const MaterialSlab &materialSlab(const Vector2 &lp) const final
const MaterialSlab &materialSlab(const Vector3 &gp) const final
const MaterialSlab &materialSlab(size_t bin0, size_t bin1) const final
BinnedSurfaceMaterial &operator*=(double scale) final

Scale operator.

Parameters
  • scale: is the scale factor for the full material

BinnedSurfaceMaterial &operator=(BinnedSurfaceMaterial &&bsm) = default

Assignment Move operator.

BinnedSurfaceMaterial &operator=(const BinnedSurfaceMaterial &bsm) = default

Assignment operator.

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

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