Analysis Software
Documentation for sPHENIX simulation 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 Vector2 &lp, const MaterialSlab &mp, double pathCorrection=1.)
 
std::array< size_t, 3 > accumulate (const Vector3 &gp, const MaterialSlab &mp, double pathCorrection=1.)
 
void trackVariance (const std::vector< std::array< size_t, 3 >> &trackBins, MaterialSlab slabReference, bool emptyHit=false)
 
void trackVariance (const Vector3 &gp, MaterialSlab slabReference, bool emptyHit=false)
 
void trackAverage (const std::vector< std::array< size_t, 3 >> &trackBins={}, bool emptyHit=false)
 
void trackAverage (const Vector3 &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 32 of file AccumulatedSurfaceMaterial.hpp.

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

Member Typedef Documentation

Definition at line 35 of file AccumulatedSurfaceMaterial.hpp.

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

Definition at line 34 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 34 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 17 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 17 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 24 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 24 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 Vector2 lp,
const MaterialSlab mp,
double  pathCorrection = 1. 
)

Assign a material properties object

Parameters
lplocal position for the bin assignment
mpmaterial properties to be assigned
pathCorrectionCorrection factor for the effective path length
Returns
the bin triple to which the material was assigned

Definition at line 34 of file AccumulatedSurfaceMaterial.cpp.

View newest version in sPHENIX GitHub at line 34 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 Vector3 gp,
const MaterialSlab mp,
double  pathCorrection = 1. 
)

Assign a material properties object

Parameters
gpglobal position for the bin assignment
mpmaterial properties to be assigned
pathCorrectionCorrection factor for the effective path length
Returns
the bin triple to which the material was assigned

Definition at line 47 of file AccumulatedSurfaceMaterial.cpp.

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

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

Access to the accumulated material.

Definition at line 159 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 159 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 154 of file AccumulatedSurfaceMaterial.hpp.

View newest version in sPHENIX GitHub at line 154 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 163 of file AccumulatedSurfaceMaterial.hpp.

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

References m_splitFactor.

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

Total average creates SurfaceMaterial.

Definition at line 134 of file AccumulatedSurfaceMaterial.cpp.

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

References testing::internal::move().

+ Here is the call graph for this function:

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 109 of file AccumulatedSurfaceMaterial.cpp.

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

void Acts::AccumulatedSurfaceMaterial::trackAverage ( const Vector3 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 96 of file AccumulatedSurfaceMaterial.cpp.

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

void Acts::AccumulatedSurfaceMaterial::trackVariance ( const std::vector< std::array< size_t, 3 >> &  trackBins,
MaterialSlab  slabReference,
bool  emptyHit = false 
)

Use the accumulated material to update the material variance

Parameters
trackBinsThe bins that were touched by this event
emptyHitindicator if this is an empty assignment
slabReferencereference slab (from the map) used to compute the variance If none is given, the average runs over all bins in the surface map

Definition at line 72 of file AccumulatedSurfaceMaterial.cpp.

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

void Acts::AccumulatedSurfaceMaterial::trackVariance ( const Vector3 gp,
MaterialSlab  slabReference,
bool  emptyHit = false 
)

Use the accumulated material to update the material variance

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

Definition at line 59 of file AccumulatedSurfaceMaterial.cpp.

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

Member Data Documentation

AccumulatedMatrix Acts::AccumulatedSurfaceMaterial::m_accumulatedMaterial
private

The stored accumulated material matrix.

Definition at line 151 of file AccumulatedSurfaceMaterial.hpp.

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

Referenced by accumulatedMaterial(), and AccumulatedSurfaceMaterial().

BinUtility Acts::AccumulatedSurfaceMaterial::m_binUtility {}
private

The helper for the bin finding.

Definition at line 145 of file AccumulatedSurfaceMaterial.hpp.

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

Referenced by AccumulatedSurfaceMaterial(), and binUtility().

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

the split factor

Definition at line 148 of file AccumulatedSurfaceMaterial.hpp.

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

Referenced by splitFactor().


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