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

#include <acts/blob/sPHENIX/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 MaterialSlabmaterialSlab (const Vector2D &lp) const =0
 
virtual const MaterialSlabmaterialSlab (const Vector3D &gp) const =0
 
virtual const MaterialSlabmaterialSlab (size_t ib0, size_t ib1) const =0
 
double factor (NavigationDirection pDir, MaterialUpdateStage mStage) const
 
MaterialSlab materialSlab (const Vector2D &lp, NavigationDirection pDir, MaterialUpdateStage mStage) const
 
MaterialSlab materialSlab (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

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

Definition at line 26 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 26 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 34 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 34 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 113 of file ISurfaceMaterial.hpp.

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

References Acts::fullUpdate, and m_splitFactor.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), materialSlab(), pygdir(), and riwibd().

+ Here is the caller graph for this function:

virtual const MaterialSlab& Acts::ISurfaceMaterial::materialSlab ( 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 MaterialSlab

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

Referenced by materialSlab(), ActsFatras::detail::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()(), and ActsExamples::RootMaterialWriter::write().

+ Here is the caller graph for this function:

virtual const MaterialSlab& Acts::ISurfaceMaterial::materialSlab ( 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 MaterialSlab

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

virtual const MaterialSlab& Acts::ISurfaceMaterial::materialSlab ( size_t  ib0,
size_t  ib1 
) const
pure virtual

Direct access via bins to the MaterialSlab

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

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

MaterialSlab Acts::ISurfaceMaterial::materialSlab ( 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
MaterialSlab

Definition at line 121 of file ISurfaceMaterial.hpp.

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

References factor(), materialSlab(), and Acts::MaterialSlab::scaleThickness().

+ Here is the call graph for this function:

MaterialSlab Acts::ISurfaceMaterial::materialSlab ( 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
MaterialSlab

Definition at line 137 of file ISurfaceMaterial.hpp.

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

References factor(), materialSlab(), and Acts::MaterialSlab::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 100 of file ISurfaceMaterial.hpp.

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

Member Data Documentation

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

the split factor in favour of oppositePre

Definition at line 110 of file ISurfaceMaterial.hpp.

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

Referenced by factor().


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