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

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

#include <Acts/Material/HomogeneousSurfaceMaterial.hpp>

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

Public Member Functions

 HomogeneousSurfaceMaterial ()=default
 Default Constructor - defaulted.
 HomogeneousSurfaceMaterial (const HomogeneousSurfaceMaterial &hsm)=default
 Copy Constructor.
 HomogeneousSurfaceMaterial (const MaterialSlab &full, double splitFactor=1., MappingType mappingType=MappingType::Default)
 Explicit constructor.
 HomogeneousSurfaceMaterial (HomogeneousSurfaceMaterial &&hsm)=default
 Copy Move Constructor.
 ~HomogeneousSurfaceMaterial () override=default
 Destructor.
double factor (Direction pDir, MaterialUpdateMode mode) const
 The inherited methods - for scale access.
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.
virtual MaterialSlab materialSlab (const Vector3 &gp, Direction pDir, MaterialUpdateMode mode) const
 Return method for full material description of the Surface.
const MaterialSlabmaterialSlab (const Vector3 &gp=Vector3{0., 0., 0.}) const final
 Return method for full material description of the Surface.
HomogeneousSurfaceMaterialoperator= (const HomogeneousSurfaceMaterial &hsm)=default
 Assignment operator.
HomogeneousSurfaceMaterialoperator= (HomogeneousSurfaceMaterial &&hsm)=default
 Assignment Move operator.
HomogeneousSurfaceMaterialscale (double factor) final
 Scale operator.
std::ostream & toStream (std::ostream &sl) const final
 Output Method for std::ostream.
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 virtual base class to describe a simple homogeneous material on a surface.

Constructor & Destructor Documentation

◆ HomogeneousSurfaceMaterial() [1/4]

Acts::HomogeneousSurfaceMaterial::HomogeneousSurfaceMaterial ( )
default

Default Constructor - defaulted.

◆ HomogeneousSurfaceMaterial() [2/4]

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

Explicit constructor.

Parameters
fullare the full material properties
splitFactoris the split for pre/post update
mappingTypeis the type of surface mapping associated to the surface

◆ HomogeneousSurfaceMaterial() [3/4]

Acts::HomogeneousSurfaceMaterial::HomogeneousSurfaceMaterial ( const HomogeneousSurfaceMaterial & hsm)
default

Copy Constructor.

Parameters
hsmis the source material

◆ HomogeneousSurfaceMaterial() [4/4]

Acts::HomogeneousSurfaceMaterial::HomogeneousSurfaceMaterial ( HomogeneousSurfaceMaterial && hsm)
default

Copy Move Constructor.

Parameters
hsmis the source material

◆ ~HomogeneousSurfaceMaterial()

Acts::HomogeneousSurfaceMaterial::~HomogeneousSurfaceMaterial ( )
overridedefault

Destructor.

Member Function Documentation

◆ factor()

The inherited methods - for scale access.

Parameters
pDirDirection through the surface
modeMaterial update directive
Returns
The scaling factor for the material

◆ materialSlab() [1/4]

const MaterialSlab & Acts::HomogeneousSurfaceMaterial::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
Note
the input parameter is ignored

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]

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.

◆ materialSlab() [4/4]

const MaterialSlab & Acts::HomogeneousSurfaceMaterial::materialSlab ( const Vector3 & gp = Vector3{0., 0., 0.}) 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
Note
the input parameter is ignored

Implements Acts::ISurfaceMaterial.

◆ operator=() [1/2]

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

Assignment operator.

Parameters
hsmis the source material
Returns
Reference to this material after assignment

◆ operator=() [2/2]

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

Assignment Move operator.

Parameters
hsmis the source material
Returns
Reference to this material after move assignment

◆ scale()

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

Scale operator.

  • it is effectively a thickness scaling
Parameters
factoris the scale factor
Returns
Reference to this scaled material

Implements Acts::ISurfaceMaterial.

◆ toStream()

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

Output Method for std::ostream.

Parameters
slThe outoput stream
Returns
Reference to the output stream for chaining

Implements Acts::ISurfaceMaterial.