ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ISurfaceMaterial Class Referenceabstract

#include <acts/blob/master/Core/include/Acts/Material/ISurfaceMaterial.hpp>

+ Inheritance diagram for Acts::ISurfaceMaterial:

Public Member Functions

 ISurfaceMaterial ()=default
 Constructor.
 
 ISurfaceMaterial (double splitFactor)
 
virtual ~ISurfaceMaterial ()=default
 Destructor.
 
virtual ISurfaceMaterialoperator*= (double scale)=0
 
virtual const MaterialPropertiesmaterialProperties (const Vector2D &lp) const =0
 
virtual const MaterialPropertiesmaterialProperties (const Vector3D &gp) const =0
 
virtual const MaterialPropertiesmaterialProperties (size_t ib0, size_t ib1) const =0
 
double factor (NavigationDirection pDir, MaterialUpdateStage mStage) const
 
MaterialProperties materialProperties (const Vector2D &lp, NavigationDirection pDir, MaterialUpdateStage mStage) const
 
MaterialProperties materialProperties (const Vector3D &gp, NavigationDirection pDir, MaterialUpdateStage mStage) const
 
virtual std::ostream & toStream (std::ostream &sl) const =0
 Output Method for std::ostream, to be overloaded by child classes.
 

Protected Attributes

double m_splitFactor {1.}
 the split factor in favour of oppositePre
 

Friends

std::ostream & operator<< (std::ostream &out, const ISurfaceMaterial &sm)
 output stream operator
 

Detailed Description

Virtual base class of surface based material description

MaterialProperties that are associated to a surface, extended by certain special representations (binned, homogenous)

Definition at line 25 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 25 of file ISurfaceMaterial.hpp

Constructor & Destructor Documentation

Acts::ISurfaceMaterial::ISurfaceMaterial ( )
default

Constructor.

Acts::ISurfaceMaterial::ISurfaceMaterial ( double  splitFactor)
inline

Constructor

Parameters
splitFactoris the splitting ratio between pre/post update

Definition at line 33 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 33 of file ISurfaceMaterial.hpp

virtual Acts::ISurfaceMaterial::~ISurfaceMaterial ( )
virtualdefault

Destructor.

Member Function Documentation

double Acts::ISurfaceMaterial::factor ( NavigationDirection  pDir,
MaterialUpdateStage  mStage 
) const
inline

Update pre factor

Parameters
pDiris the navigation direction through the surface
mStageis the material update directive (onapproach, full, onleave)

Definition at line 117 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 117 of file ISurfaceMaterial.hpp

References Acts::fullUpdate, and m_splitFactor.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and materialProperties().

+ Here is the caller graph for this function:

virtual const MaterialProperties& Acts::ISurfaceMaterial::materialProperties ( const Vector2D lp) const
pure virtual

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 MaterialProperties

Implemented in Acts::BinnedSurfaceMaterial, Acts::ProtoSurfaceMaterial, and Acts::HomogeneousSurfaceMaterial.

Referenced by materialProperties(), ActsFatras::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()(), and FW::RootMaterialWriter::write().

+ Here is the caller graph for this function:

virtual const MaterialProperties& Acts::ISurfaceMaterial::materialProperties ( const Vector3D gp) const
pure virtual

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 MaterialProperties

Implemented in Acts::BinnedSurfaceMaterial, Acts::ProtoSurfaceMaterial, and Acts::HomogeneousSurfaceMaterial.

virtual const MaterialProperties& Acts::ISurfaceMaterial::materialProperties ( size_t  ib0,
size_t  ib1 
) const
pure virtual

Direct access via bins to the MaterialProperties

Parameters
ib0is the material bin in dimension 0
ib1is the material bin in dimension 1

Implemented in Acts::BinnedSurfaceMaterial, Acts::ProtoSurfaceMaterial, and Acts::HomogeneousSurfaceMaterial.

MaterialProperties Acts::ISurfaceMaterial::materialProperties ( const Vector2D lp,
NavigationDirection  pDir,
MaterialUpdateStage  mStage 
) const
inline

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 navigation direction through the surface
mStageis the material update directive (onapproach, full, onleave)
Returns
MaterialProperties

Definition at line 125 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 125 of file ISurfaceMaterial.hpp

References factor(), materialProperties(), and Acts::MaterialProperties::scaleThickness().

+ Here is the call graph for this function:

MaterialProperties Acts::ISurfaceMaterial::materialProperties ( const Vector3D gp,
NavigationDirection  pDir,
MaterialUpdateStage  mStage 
) const
inline

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 navigation direction through the surface
mStageis the material update directive (onapproach, full, onleave)
Returns
MaterialProperties

Definition at line 141 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 141 of file ISurfaceMaterial.hpp

References factor(), materialProperties(), and Acts::MaterialProperties::scaleThickness().

+ Here is the call graph for this function:

virtual ISurfaceMaterial& Acts::ISurfaceMaterial::operator*= ( double  scale)
pure virtual

Scale operator

Parameters
scaleis the scale factor applied

Implemented in Acts::BinnedSurfaceMaterial, Acts::ProtoSurfaceMaterial, and Acts::HomogeneousSurfaceMaterial.

virtual std::ostream& Acts::ISurfaceMaterial::toStream ( std::ostream &  sl) const
pure virtual

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

Implemented in Acts::BinnedSurfaceMaterial, Acts::HomogeneousSurfaceMaterial, and Acts::ProtoSurfaceMaterial.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const ISurfaceMaterial sm 
)
friend

output stream operator

Prints information about this object to the output stream using the virtual ISurfaceMaterial::toStream method

Returns
modified output stream object

Definition at line 104 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 104 of file ISurfaceMaterial.hpp

Member Data Documentation

double Acts::ISurfaceMaterial::m_splitFactor {1.}
protected

the split factor in favour of oppositePre

Definition at line 114 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 114 of file ISurfaceMaterial.hpp

Referenced by factor().


The documentation for this class was generated from the following file: