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

#include <acts/blob/sPHENIX/Core/include/Acts/Material/BinnedSurfaceMaterial.hpp>

+ Inheritance diagram for Acts::BinnedSurfaceMaterial:
+ Collaboration diagram for Acts::BinnedSurfaceMaterial:

Public Member Functions

 BinnedSurfaceMaterial ()=delete
 Default Constructor - deleted.
 
 BinnedSurfaceMaterial (const BinUtility &binUtility, MaterialSlabVector fullProperties, double splitFactor=0.)
 
 BinnedSurfaceMaterial (const BinUtility &binUtility, MaterialSlabMatrix fullProperties, double splitFactor=0.)
 
 BinnedSurfaceMaterial (BinnedSurfaceMaterial &&bsm)=default
 
 BinnedSurfaceMaterial (const BinnedSurfaceMaterial &bsm)=default
 
BinnedSurfaceMaterialoperator= (BinnedSurfaceMaterial &&bsm)=default
 Assignment Move operator.
 
BinnedSurfaceMaterialoperator= (const BinnedSurfaceMaterial &bsm)=default
 Assignment operator.
 
 ~BinnedSurfaceMaterial () override=default
 Destructor.
 
BinnedSurfaceMaterialoperator*= (double scale) final
 
const BinUtilitybinUtility () const
 Return the BinUtility.
 
const MaterialSlabMatrixfullMaterial () const
 
 
const MaterialSlabmaterialSlab (const Vector2D &lp) const final
 
 
const MaterialSlabmaterialSlab (const Vector3D &gp) const final
 
 
const MaterialSlabmaterialSlab (size_t bin0, size_t bin1) const final
 
 
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)
 
virtual ~ISurfaceMaterial ()=default
 Destructor.
 
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
 

Private Attributes

BinUtility m_binUtility
 The helper for the bin finding.
 
MaterialSlabMatrix m_fullMaterial
 The five different MaterialSlab.
 

Additional Inherited Members

- Protected Attributes inherited from Acts::ISurfaceMaterial
double m_splitFactor {1.}
 the split factor in favour of oppositePre
 

Detailed Description

It extends the SurfaceMaterial base class and is an array pf MaterialSlab. This is not memory optimised as every bin holds one material property object.

Definition at line 23 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 23 of file BinnedSurfaceMaterial.hpp

Constructor & Destructor Documentation

Acts::BinnedSurfaceMaterial::BinnedSurfaceMaterial ( )
delete

Default Constructor - deleted.

Acts::BinnedSurfaceMaterial::BinnedSurfaceMaterial ( const BinUtility binUtility,
MaterialSlabVector  fullProperties,
double  splitFactor = 0. 
)

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

Definition at line 13 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 13 of file BinnedSurfaceMaterial.cpp

References m_fullMaterial.

Acts::BinnedSurfaceMaterial::BinnedSurfaceMaterial ( const BinUtility binUtility,
MaterialSlabMatrix  fullProperties,
double  splitFactor = 0. 
)

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

Definition at line 21 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 21 of file BinnedSurfaceMaterial.cpp

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

Copy Move Constructor

Parameters
bsmis the source object to be copied
Acts::BinnedSurfaceMaterial::BinnedSurfaceMaterial ( const BinnedSurfaceMaterial bsm)
default

Copy Constructor

Parameters
bsmis the source object to be copied
Acts::BinnedSurfaceMaterial::~BinnedSurfaceMaterial ( )
overridedefault

Destructor.

Member Function Documentation

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

Return the BinUtility.

Definition at line 108 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 108 of file BinnedSurfaceMaterial.hpp

References m_binUtility.

Referenced by ActsExamples::RootMaterialWriter::write().

+ Here is the caller graph for this function:

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

Definition at line 112 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 112 of file BinnedSurfaceMaterial.hpp

References m_fullMaterial.

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

Implements Acts::ISurfaceMaterial.

Definition at line 38 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 38 of file BinnedSurfaceMaterial.cpp

References Acts::UnitConstants::u.

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

Implements Acts::ISurfaceMaterial.

Definition at line 46 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 46 of file BinnedSurfaceMaterial.cpp

References Acts::UnitConstants::u.

const MaterialSlab & Acts::BinnedSurfaceMaterial::materialSlab ( size_t  bin0,
size_t  bin1 
) const
inlinefinalvirtual

Implements Acts::ISurfaceMaterial.

Definition at line 116 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 116 of file BinnedSurfaceMaterial.hpp

References m_fullMaterial.

Acts::BinnedSurfaceMaterial & Acts::BinnedSurfaceMaterial::operator*= ( double  scale)
finalvirtual

Scale operator

Parameters
scaleis the scale factor for the full material

Implements Acts::ISurfaceMaterial.

Definition at line 28 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 28 of file BinnedSurfaceMaterial.cpp

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

Assignment Move operator.

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

Assignment operator.

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

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

Implements Acts::ISurfaceMaterial.

Definition at line 54 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 54 of file BinnedSurfaceMaterial.cpp

Member Data Documentation

BinUtility Acts::BinnedSurfaceMaterial::m_binUtility
private

The helper for the bin finding.

Definition at line 102 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 102 of file BinnedSurfaceMaterial.hpp

Referenced by binUtility().

MaterialSlabMatrix Acts::BinnedSurfaceMaterial::m_fullMaterial
private

The five different MaterialSlab.

Definition at line 105 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 105 of file BinnedSurfaceMaterial.hpp

Referenced by BinnedSurfaceMaterial(), fullMaterial(), and materialSlab().


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