Analysis Software
Documentation for sPHENIX simulation 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., MappingType mappingType=MappingType::Default)
 
 BinnedSurfaceMaterial (const BinUtility &binUtility, MaterialSlabMatrix fullProperties, double splitFactor=0., MappingType mappingType=MappingType::Default)
 
 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
 Retrieve the entire material slab matrix.
 
const MaterialSlabmaterialSlab (const Vector2 &lp) const final
 
 
const MaterialSlabmaterialSlab (const Vector3 &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)
 
 ISurfaceMaterial (double splitFactor, Acts::MappingType mappingType)
 
virtual ~ISurfaceMaterial ()=default
 Destructor.
 
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
 

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
 
MappingType m_mappingType
 Use the default mapping type by default.
 

Detailed Description

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

Definition at line 28 of file BinnedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 28 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.,
Acts::MappingType  mappingType = MappingType::Default 
)

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
mappingTypeis the type of surface mapping associated to the surface

Definition at line 17 of file BinnedSurfaceMaterial.cpp.

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

References m_fullMaterial, and testing::internal::move().

+ Here is the call graph for this function:

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

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
mappingTypeis the type of surface mapping associated to the surface

Definition at line 25 of file BinnedSurfaceMaterial.cpp.

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

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

References m_binUtility.

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

+ Here is the caller graph for this function:

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

Retrieve the entire material slab matrix.

Definition at line 121 of file BinnedSurfaceMaterial.hpp.

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

References m_fullMaterial.

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

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

Implements Acts::ISurfaceMaterial.

Definition at line 42 of file BinnedSurfaceMaterial.cpp.

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

References physmon_ckf_tracking::u.

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

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

Implements Acts::ISurfaceMaterial.

Definition at line 50 of file BinnedSurfaceMaterial.cpp.

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

References physmon_ckf_tracking::u.

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

Direct access via bins to the MaterialSlab

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

Implements Acts::ISurfaceMaterial.

Definition at line 125 of file BinnedSurfaceMaterial.hpp.

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

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

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

Member Data Documentation

BinUtility Acts::BinnedSurfaceMaterial::m_binUtility
private

The helper for the bin finding.

Definition at line 111 of file BinnedSurfaceMaterial.hpp.

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

Referenced by binUtility().

MaterialSlabMatrix Acts::BinnedSurfaceMaterial::m_fullMaterial
private

The five different MaterialSlab.

Definition at line 114 of file BinnedSurfaceMaterial.hpp.

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

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


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