ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::BinnedSurfaceMaterial Class Reference

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

#include <Acts/Material/BinnedSurfaceMaterial.hpp>

Inheritance diagram for Acts::BinnedSurfaceMaterial:
[legend]
Collaboration diagram for Acts::BinnedSurfaceMaterial:
[legend]

Public Member Functions

 BinnedSurfaceMaterial ()=delete
 Default Constructor - deleted.
 BinnedSurfaceMaterial (BinnedSurfaceMaterial &&bsm)=default
 Copy Move Constructor.
 BinnedSurfaceMaterial (const BinnedSurfaceMaterial &bsm)=default
 Copy Constructor.
 BinnedSurfaceMaterial (const BinUtility &binUtility, MaterialSlabMatrix fullProperties, double splitFactor=0., MappingType mappingType=MappingType::Default)
 Explicit constructor with only full MaterialSlab, for two-dimensional binning.
 BinnedSurfaceMaterial (const BinUtility &binUtility, MaterialSlabVector fullProperties, double splitFactor=0., MappingType mappingType=MappingType::Default)
 Explicit constructor with only full MaterialSlab, for one-dimensional binning.
 ~BinnedSurfaceMaterial () override=default
 Destructor.
const BinUtilitybinUtility () const
 Return the BinUtility.
const MaterialSlabMatrixfullMaterial () const
 Retrieve the entire material slab matrix.
const MaterialSlabmaterialSlab (const Vector2 &lp) const final
 Return method for full material description of the Surface.
virtual MaterialSlab materialSlab (const Vector2 &lp, Direction pDir, MaterialUpdateMode mode) const
 Return method for fully scaled material description of the Surface.
const MaterialSlabmaterialSlab (const Vector3 &gp) const final
 Return method for full material description of the Surface.
virtual MaterialSlab materialSlab (const Vector3 &gp, Direction pDir, MaterialUpdateMode mode) const
 Return method for full material description of the Surface.
BinnedSurfaceMaterialoperator= (BinnedSurfaceMaterial &&bsm)=default
 Assignment Move operator.
BinnedSurfaceMaterialoperator= (const BinnedSurfaceMaterial &bsm)=default
 Assignment operator.
BinnedSurfaceMaterialscale (double factor) final
 Scale operation.
std::ostream & toStream (std::ostream &sl) const final
 Output Method for std::ostream, to be overloaded by child classes.
Public Member Functions inherited from Acts::ISurfaceMaterial
 ISurfaceMaterial ()=default
 Constructor.
 ISurfaceMaterial (double splitFactor)
 Constructor.
 ISurfaceMaterial (double splitFactor, MappingType mappingType)
 Constructor.
virtual ~ISurfaceMaterial ()=default
 Destructor.
double factor (Direction pDir, MaterialUpdateMode mode) const
 Update pre factor.
MappingType mappingType () const
 Return the type of surface material mapping.
std::string toString () const
 output into a string

Additional Inherited Members

Protected Attributes inherited from Acts::ISurfaceMaterial
MappingType m_mappingType {MappingType::Default}
 Use the default mapping type by default.
double m_splitFactor {1.}
 the split factor in favour of oppositePre

Detailed Description

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.

Constructor & Destructor Documentation

◆ BinnedSurfaceMaterial() [1/5]

Acts::BinnedSurfaceMaterial::BinnedSurfaceMaterial ( )
delete

Default Constructor - deleted.

◆ BinnedSurfaceMaterial() [2/5]

Acts::BinnedSurfaceMaterial::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
binUtilitydefines the binning structure on the surface (copied)
fullPropertiesis the vector of properties as recorded (moved)
splitFactoris the pre/post splitting directive
mappingTypeis the type of surface mapping associated to the surface

◆ BinnedSurfaceMaterial() [3/5]

Acts::BinnedSurfaceMaterial::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
binUtilitydefines the binning structure on the surface (copied)
fullPropertiesis the vector of properties as recorded (moved)
splitFactoris the pre/post splitting directive
mappingTypeis the type of surface mapping associated to the surface

◆ BinnedSurfaceMaterial() [4/5]

Acts::BinnedSurfaceMaterial::BinnedSurfaceMaterial ( BinnedSurfaceMaterial && bsm)
default

Copy Move Constructor.

Parameters
bsmis the source object to be copied

◆ BinnedSurfaceMaterial() [5/5]

Acts::BinnedSurfaceMaterial::BinnedSurfaceMaterial ( const BinnedSurfaceMaterial & bsm)
default

Copy Constructor.

Parameters
bsmis the source object to be copied

◆ ~BinnedSurfaceMaterial()

Acts::BinnedSurfaceMaterial::~BinnedSurfaceMaterial ( )
overridedefault

Destructor.

Member Function Documentation

◆ binUtility()

const BinUtility & Acts::BinnedSurfaceMaterial::binUtility ( ) const

Return the BinUtility.

Returns
Reference to the bin utility used for material binning

◆ fullMaterial()

const MaterialSlabMatrix & Acts::BinnedSurfaceMaterial::fullMaterial ( ) const

Retrieve the entire material slab matrix.

Returns
Reference to the complete matrix of material slabs

◆ materialSlab() [1/4]

const MaterialSlab & Acts::BinnedSurfaceMaterial::materialSlab ( const Vector2 & lp) const
finalvirtual

Return method for full material description of the Surface.

  • from local coordinate on the surface
Parameters
lpis the local position used for the (eventual) lookup
Returns
const MaterialSlab

Implements Acts::ISurfaceMaterial.

◆ materialSlab() [2/4]

virtual MaterialSlab Acts::ISurfaceMaterial::materialSlab ( const Vector2 & lp,
Direction pDir,
MaterialUpdateMode mode ) const
virtual

Return method for fully scaled material description of the Surface.

  • from local coordinate on the surface
Parameters
lpis the local position used for the (eventual) lookup
pDiris the positive direction through the surface
modeis the material update directive
Returns
MaterialSlab

Reimplemented from Acts::ISurfaceMaterial.

◆ materialSlab() [3/4]

const MaterialSlab & Acts::BinnedSurfaceMaterial::materialSlab ( const Vector3 & gp) const
finalvirtual

Return method for full material description of the Surface.

  • from the global coordinates
Parameters
gpis the global position used for the (eventual) lookup
Returns
const MaterialSlab

Implements Acts::ISurfaceMaterial.

◆ materialSlab() [4/4]

virtual MaterialSlab Acts::ISurfaceMaterial::materialSlab ( const Vector3 & gp,
Direction pDir,
MaterialUpdateMode mode ) const
virtual

Return method for full material description of the Surface.

  • from the global coordinates
Parameters
gpis the global position used for the (eventual) lookup
pDiris the positive direction through the surface
modeis the material update directive
Returns
MaterialSlab

Reimplemented from Acts::ISurfaceMaterial.

◆ operator=() [1/2]

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

Assignment Move operator.

Parameters
bsmThe source object to move from
Returns
Reference to this object after move assignment

◆ operator=() [2/2]

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

Assignment operator.

Parameters
bsmThe source object to copy from
Returns
Reference to this object after copy assignment

◆ scale()

BinnedSurfaceMaterial & Acts::BinnedSurfaceMaterial::scale ( double factor)
finalvirtual

Scale operation.

Parameters
factoris the scale factor for the full material
Returns
Reference to this object after scaling

Implements Acts::ISurfaceMaterial.

◆ toStream()

std::ostream & Acts::BinnedSurfaceMaterial::toStream ( std::ostream & sl) const
finalvirtual

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

Parameters
slThe output stream to write to
Returns
Reference to the output stream after writing

Implements Acts::ISurfaceMaterial.