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

#include <acts/blob/master/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, MaterialPropertiesVector fullProperties, double splitFactor=0.)
 
 BinnedSurfaceMaterial (const BinUtility &binUtility, MaterialPropertiesMatrix 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 MaterialPropertiesMatrixfullMaterial () const
 
 
const MaterialPropertiesmaterialProperties (const Vector2D &lp) const final
 
 
const MaterialPropertiesmaterialProperties (const Vector3D &gp) const final
 
 
const MaterialPropertiesmaterialProperties (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
 
MaterialProperties materialProperties (const Vector2D &lp, NavigationDirection pDir, MaterialUpdateStage mStage) const
 
MaterialProperties materialProperties (const Vector3D &gp, NavigationDirection pDir, MaterialUpdateStage mStage) const
 

Private Attributes

BinUtility m_binUtility
 The helper for the bin finding.
 
MaterialPropertiesMatrix m_fullMaterial
 The five different MaterialProperties.
 

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 MaterialProperties. 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,
MaterialPropertiesVector  fullProperties,
double  splitFactor = 0. 
)

Explicit constructor with only full MaterialProperties, 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 12 of file BinnedSurfaceMaterial.cpp.

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

References m_fullMaterial.

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

Explicit constructor with only full MaterialProperties, 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 20 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 20 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 109 of file BinnedSurfaceMaterial.hpp.

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

References m_binUtility.

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

+ Here is the caller graph for this function:

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

Definition at line 113 of file BinnedSurfaceMaterial.hpp.

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

References m_fullMaterial.

const Acts::MaterialProperties & Acts::BinnedSurfaceMaterial::materialProperties ( const Vector2D lp) const
finalvirtual

Implements Acts::ISurfaceMaterial.

Definition at line 37 of file BinnedSurfaceMaterial.cpp.

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

References Acts::UnitConstants::u.

const Acts::MaterialProperties & Acts::BinnedSurfaceMaterial::materialProperties ( const Vector3D gp) const
finalvirtual

Implements Acts::ISurfaceMaterial.

Definition at line 45 of file BinnedSurfaceMaterial.cpp.

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

References Acts::UnitConstants::u.

const MaterialProperties & Acts::BinnedSurfaceMaterial::materialProperties ( size_t  bin0,
size_t  bin1 
) const
inlinefinalvirtual

Implements Acts::ISurfaceMaterial.

Definition at line 118 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 118 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 27 of file BinnedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 27 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 53 of file BinnedSurfaceMaterial.cpp.

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

Member Data Documentation

BinUtility Acts::BinnedSurfaceMaterial::m_binUtility
private

The helper for the bin finding.

Definition at line 103 of file BinnedSurfaceMaterial.hpp.

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

Referenced by binUtility().

MaterialPropertiesMatrix Acts::BinnedSurfaceMaterial::m_fullMaterial
private

The five different MaterialProperties.

Definition at line 106 of file BinnedSurfaceMaterial.hpp.

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

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


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