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

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

+ Collaboration diagram for Acts::AccumulatedSurfaceMaterial:

Public Types

using AccumulatedVector = std::vector< AccumulatedMaterialSlab >
 
using AccumulatedMatrix = std::vector< AccumulatedVector >
 

Public Member Functions

 AccumulatedSurfaceMaterial (double splitFactor=0.)
 
 AccumulatedSurfaceMaterial (const BinUtility &binUtility, double splitFactor=0.)
 
 AccumulatedSurfaceMaterial (const AccumulatedSurfaceMaterial &asma)=default
 
 AccumulatedSurfaceMaterial (AccumulatedSurfaceMaterial &&asma)=default
 
AccumulatedSurfaceMaterialoperator= (AccumulatedSurfaceMaterial &&asma)=default
 
AccumulatedSurfaceMaterialoperator= (const AccumulatedSurfaceMaterial &asma)=default
 
 ~AccumulatedSurfaceMaterial ()=default
 Destructor.
 
const BinUtilitybinUtility () const
 Return the BinUtility.
 
std::array< size_t, 3 > accumulate (const Vector2D &lp, const MaterialSlab &mp, double pathCorrection=1.)
 
std::array< size_t, 3 > accumulate (const Vector3D &gp, const MaterialSlab &mp, double pathCorrection=1.)
 
void trackAverage (const std::vector< std::array< size_t, 3 >> &trackBins={}, bool emptyHit=false)
 
void trackAverage (const Vector3D &gp, bool emptyHit=false)
 
std::unique_ptr< const
ISurfaceMaterial
totalAverage ()
 Total average creates SurfaceMaterial.
 
const AccumulatedMatrixaccumulatedMaterial () const
 Access to the accumulated material.
 
double splitFactor () const
 Access to the split factor.
 

Private Attributes

BinUtility m_binUtility {}
 The helper for the bin finding.
 
double m_splitFactor {0.}
 the split factor
 
AccumulatedMatrix m_accumulatedMaterial
 The stored accumulated material matrix.
 

Detailed Description

This class is used by the SurfaceMaterialMapper in order to accumulate/collect material information during the mapping process.

It performs event- and run-average when called, and returns a new SurfaceMaterial object as a unique_ptr after finalisation

Definition at line 29 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 29 of file AccumulatedSurfaceMaterial.hpp

Member Typedef Documentation

Definition at line 32 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 32 of file AccumulatedSurfaceMaterial.hpp

Constructor & Destructor Documentation

Acts::AccumulatedSurfaceMaterial::AccumulatedSurfaceMaterial ( double  splitFactor = 0.)

Default Constructor - for homogeneous material

Parameters
splitFactoris the pre/post splitting directive

Definition at line 15 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 15 of file AccumulatedSurfaceMaterial.cpp

References m_accumulatedMaterial.

Acts::AccumulatedSurfaceMaterial::AccumulatedSurfaceMaterial ( const BinUtility binUtility,
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
splitFactoris the pre/post splitting directive

Definition at line 22 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 22 of file AccumulatedSurfaceMaterial.cpp

References Acts::BinUtility::bins(), m_accumulatedMaterial, and m_binUtility.

+ Here is the call graph for this function:

Acts::AccumulatedSurfaceMaterial::AccumulatedSurfaceMaterial ( const AccumulatedSurfaceMaterial asma)
default

Copy Constructor

Parameters
asmais the source object to be copied
Acts::AccumulatedSurfaceMaterial::AccumulatedSurfaceMaterial ( AccumulatedSurfaceMaterial &&  asma)
default

Copy Move Constructor

Parameters
asmais the source object to be copied
Acts::AccumulatedSurfaceMaterial::~AccumulatedSurfaceMaterial ( )
default

Destructor.

Member Function Documentation

std::array< size_t, 3 > Acts::AccumulatedSurfaceMaterial::accumulate ( const Vector2D lp,
const MaterialSlab mp,
double  pathCorrection = 1. 
)

Assign a material properites object

Parameters
lplocal position for the bin assignment
mpmaterial properties to be assigned
Returns
the bin triple to which the material was assigned

Definition at line 32 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 32 of file AccumulatedSurfaceMaterial.cpp

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

std::array< size_t, 3 > Acts::AccumulatedSurfaceMaterial::accumulate ( const Vector3D gp,
const MaterialSlab mp,
double  pathCorrection = 1. 
)

Assign a material properites object

Parameters
gpglobal position for the bin assignment
mpmaterial properties to be assigned
Returns
the bin triple to which the material was assigned

Definition at line 45 of file AccumulatedSurfaceMaterial.cpp.

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

const AccumulatedSurfaceMaterial::AccumulatedMatrix & Acts::AccumulatedSurfaceMaterial::accumulatedMaterial ( ) const
inline

Access to the accumulated material.

Definition at line 137 of file AccumulatedSurfaceMaterial.hpp.

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

References m_accumulatedMaterial.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

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

Return the BinUtility.

Definition at line 132 of file AccumulatedSurfaceMaterial.hpp.

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

References m_binUtility.

AccumulatedSurfaceMaterial& Acts::AccumulatedSurfaceMaterial::operator= ( AccumulatedSurfaceMaterial &&  asma)
default

Assignment Move operator

Parameters
asmais the source object to be copied
AccumulatedSurfaceMaterial& Acts::AccumulatedSurfaceMaterial::operator= ( const AccumulatedSurfaceMaterial asma)
default

Assignment operator

Parameters
asmais the source object to be copied
double Acts::AccumulatedSurfaceMaterial::splitFactor ( ) const
inline

Access to the split factor.

Definition at line 141 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 141 of file AccumulatedSurfaceMaterial.hpp

References m_splitFactor.

std::unique_ptr< const Acts::ISurfaceMaterial > Acts::AccumulatedSurfaceMaterial::totalAverage ( )

Total average creates SurfaceMaterial.

Definition at line 93 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 93 of file AccumulatedSurfaceMaterial.cpp

void Acts::AccumulatedSurfaceMaterial::trackAverage ( const std::vector< std::array< size_t, 3 >> &  trackBins = {},
bool  emptyHit = false 
)

Average the information accumulated from one mapped track

Parameters
trackBinsThe bins that were touched by this event
emptyHitindicator if this is an empty assignment If none is given, the average runs over all bins in the surface map

Definition at line 68 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 68 of file AccumulatedSurfaceMaterial.cpp

void Acts::AccumulatedSurfaceMaterial::trackAverage ( const Vector3D gp,
bool  emptyHit = false 
)

Average the information accumulated from one mapped track

Parameters
gpglobal position for the bin assignment
emptyHitindicator if this is an empty assignment

Definition at line 57 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 57 of file AccumulatedSurfaceMaterial.cpp

Member Data Documentation

AccumulatedMatrix Acts::AccumulatedSurfaceMaterial::m_accumulatedMaterial
private

The stored accumulated material matrix.

Definition at line 129 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 129 of file AccumulatedSurfaceMaterial.hpp

Referenced by accumulatedMaterial(), and AccumulatedSurfaceMaterial().

BinUtility Acts::AccumulatedSurfaceMaterial::m_binUtility {}
private

The helper for the bin finding.

Definition at line 123 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 123 of file AccumulatedSurfaceMaterial.hpp

Referenced by AccumulatedSurfaceMaterial(), and binUtility().

double Acts::AccumulatedSurfaceMaterial::m_splitFactor {0.}
private

the split factor

Definition at line 126 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 126 of file AccumulatedSurfaceMaterial.hpp

Referenced by splitFactor().


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