Class Acts::BinnedSurfaceMaterial¶
-
class Acts::BinnedSurfaceMaterial : public Acts::ISurfaceMaterial¶
It extends the
ISurfaceMaterial
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., MappingType mappingType = MappingType::Default)¶
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
mappingType – is the type of surface mapping associated to the surface
-
BinnedSurfaceMaterial(const BinUtility &binUtility, MaterialSlabMatrix fullProperties, double splitFactor = 0., MappingType mappingType = MappingType::Default)¶
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
mappingType – is the type of surface mapping associated to the surface
-
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.
-
inline const BinUtility &binUtility() const¶
Return the BinUtility.
-
inline const MaterialSlabMatrix &fullMaterial() const¶
Retrieve the entire material slab matrix.
-
virtual const MaterialSlab &materialSlab(const Vector2 &lp) const final¶
Return method for full material description of the Surface.
from local coordinate on the surface
- Parameters
lp – is the local position used for the (eventual) lookup
- Returns
const MaterialSlab
-
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 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.
- Parameters
bin0 – is the material bin in dimension 0
bin1 – is the material bin in dimension 1
-
virtual 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.
-
virtual std::ostream &toStream(std::ostream &sl) const final¶
Output Method for std::ostream, to be overloaded by child classes.
-
BinnedSurfaceMaterial() = delete¶