Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Material/AccumulatedSurfaceMaterial.hpp>
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 | |
AccumulatedSurfaceMaterial & | operator= (AccumulatedSurfaceMaterial &&asma)=default |
AccumulatedSurfaceMaterial & | operator= (const AccumulatedSurfaceMaterial &asma)=default |
~AccumulatedSurfaceMaterial ()=default | |
Destructor. | |
const BinUtility & | binUtility () 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 AccumulatedMatrix & | accumulatedMaterial () 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. | |
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
using Acts::AccumulatedSurfaceMaterial::AccumulatedMatrix = std::vector<AccumulatedVector> |
Definition at line 35 of file AccumulatedSurfaceMaterial.hpp.
View newest version in sPHENIX GitHub at line 35 of file AccumulatedSurfaceMaterial.hpp
using Acts::AccumulatedSurfaceMaterial::AccumulatedVector = std::vector<AccumulatedMaterialSlab> |
Definition at line 34 of file AccumulatedSurfaceMaterial.hpp.
View newest version in sPHENIX GitHub at line 34 of file AccumulatedSurfaceMaterial.hpp
Acts::AccumulatedSurfaceMaterial::AccumulatedSurfaceMaterial | ( | double | splitFactor = 0. | ) |
Default Constructor - for homogeneous material
splitFactor | is 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:
binUtility | defines the binning structure on the surface |
splitFactor | is 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.
|
default |
Copy Constructor
asma | is the source object to be copied |
|
default |
Copy Move Constructor
asma | is the source object to be copied |
|
default |
Destructor.
std::array< size_t, 3 > Acts::AccumulatedSurfaceMaterial::accumulate | ( | const Vector2 & | lp, |
const MaterialSlab & | mp, | ||
double | pathCorrection = 1. |
||
) |
Assign a material properties object
lp | local position for the bin assignment |
mp | material properties to be assigned |
pathCorrection | Correction factor for the effective path length |
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().
std::array< size_t, 3 > Acts::AccumulatedSurfaceMaterial::accumulate | ( | const Vector3 & | gp, |
const MaterialSlab & | mp, | ||
double | pathCorrection = 1. |
||
) |
Assign a material properties object
gp | global position for the bin assignment |
mp | material properties to be assigned |
pathCorrection | Correction factor for the effective path length |
Definition at line 47 of file AccumulatedSurfaceMaterial.cpp.
View newest version in sPHENIX GitHub at line 47 of file AccumulatedSurfaceMaterial.cpp
|
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().
|
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.
|
default |
Assignment Move operator
asma | is the source object to be copied |
|
default |
Assignment operator
asma | is the source object to be copied |
|
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().
void Acts::AccumulatedSurfaceMaterial::trackAverage | ( | const std::vector< std::array< size_t, 3 >> & | trackBins = {} , |
bool | emptyHit = false |
||
) |
Average the information accumulated from one mapped track
trackBins | The bins that were touched by this event |
emptyHit | indicator 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
Average the information accumulated from one mapped track
gp | global position for the bin assignment |
emptyHit | indicator 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
trackBins | The bins that were touched by this event |
emptyHit | indicator if this is an empty assignment |
slabReference | reference 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
gp | global position for the bin assignment |
emptyHit | indicator if this is an empty assignment |
slabReference | indicator 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
|
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().
|
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().
|
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().