Analysis Software
Documentation for sPHENIX simulation 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)
 
 ISurfaceMaterial (double splitFactor, Acts::MappingType mappingType)
 
virtual ~ISurfaceMaterial ()=default
 Destructor.
 
virtual ISurfaceMaterialoperator*= (double scale)=0
 
virtual const MaterialSlabmaterialSlab (const Vector2 &lp) const =0
 
virtual const MaterialSlabmaterialSlab (const Vector3 &gp) const =0
 
virtual const MaterialSlabmaterialSlab (size_t bin0, size_t bin1) const =0
 
double factor (Direction pDir, MaterialUpdateStage mStage) const
 
MappingType mappingType () const
 
MaterialSlab materialSlab (const Vector2 &lp, Direction pDir, MaterialUpdateStage mStage) const
 
MaterialSlab materialSlab (const Vector3 &gp, Direction 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
 
MappingType m_mappingType
 Use the default mapping type by default.
 

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, homogeneous)

Definition at line 32 of file ISurfaceMaterial.hpp.

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

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

Acts::ISurfaceMaterial::ISurfaceMaterial ( double  splitFactor,
Acts::MappingType  mappingType 
)
inline

Constructor

Parameters
splitFactoris the splitting ratio between pre/post update
mappingTypeis the type of surface mapping associated to the surface

Definition at line 46 of file ISurfaceMaterial.hpp.

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

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

Destructor.

Member Function Documentation

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

Update pre factor

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

Definition at line 132 of file ISurfaceMaterial.hpp.

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

References m_splitFactor, Acts::Direction::Negative, and Acts::Direction::Positive.

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

+ Here is the caller graph for this function:

MappingType Acts::ISurfaceMaterial::mappingType ( ) const
inline

Return the type of surface material mapping

Definition at line 87 of file ISurfaceMaterial.hpp.

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

References m_mappingType.

Referenced by Acts::to_json().

+ Here is the caller graph for this function:

virtual const MaterialSlab& Acts::ISurfaceMaterial::materialSlab ( const Vector2 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, Acts::HomogeneousSurfaceMaterial, and Acts::Test::SurfaceMaterialStub.

Referenced by materialSlab(), ActsFatras::detail::SimulationActor< generator_t, decay_t, interactions_t, hit_surface_selector_t >::operator()(), and ActsExamples::RootMaterialWriter::writeMaterial().

+ Here is the caller graph for this function:

virtual const MaterialSlab& Acts::ISurfaceMaterial::materialSlab ( const Vector3 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, Acts::HomogeneousSurfaceMaterial, and Acts::Test::SurfaceMaterialStub.

virtual const MaterialSlab& Acts::ISurfaceMaterial::materialSlab ( size_t  bin0,
size_t  bin1 
) const
pure virtual

Direct access via bins to the MaterialSlab

Parameters
bin0is the material bin in dimension 0
bin1is the material bin in dimension 1

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

MaterialSlab Acts::ISurfaceMaterial::materialSlab ( const Vector2 lp,
Direction  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 positive direction through the surface
mStageis the material update directive (onapproach, full, onleave)
Returns
MaterialSlab

Definition at line 143 of file ISurfaceMaterial.hpp.

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

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

+ Here is the call graph for this function:

MaterialSlab Acts::ISurfaceMaterial::materialSlab ( const Vector3 gp,
Direction  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 positive direction through the surface
mStageis the material update directive (onapproach, full, onleave)
Returns
MaterialSlab

Definition at line 158 of file ISurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 158 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, Acts::HomogeneousSurfaceMaterial, and Acts::Test::SurfaceMaterialStub.

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::ProtoSurfaceMaterial, Acts::HomogeneousSurfaceMaterial, and Acts::Test::SurfaceMaterialStub.

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 117 of file ISurfaceMaterial.hpp.

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

Member Data Documentation

MappingType Acts::ISurfaceMaterial::m_mappingType
protected
Initial value:

Use the default mapping type by default.

Definition at line 128 of file ISurfaceMaterial.hpp.

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

Referenced by mappingType().

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

the split factor in favour of oppositePre

Definition at line 127 of file ISurfaceMaterial.hpp.

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

Referenced by factor().


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