|
ACTS
Experiment-independent tracking
|
This class is used by the SurfaceMaterialMapper in order to accumulate/collect material information during the mapping process. More...
#include <Acts/Material/AccumulatedSurfaceMaterial.hpp>
Public Types | |
| using | AccumulatedMatrix = std::vector<AccumulatedVector> |
| Type alias for matrix (vector of vectors) of accumulated material slabs. | |
| using | AccumulatedVector = std::vector<AccumulatedMaterialSlab> |
| Type alias for vector of accumulated material slabs. | |
Public Member Functions | |
| AccumulatedSurfaceMaterial (AccumulatedSurfaceMaterial &&asma)=default | |
| Copy Move Constructor. | |
| AccumulatedSurfaceMaterial (const AccumulatedSurfaceMaterial &asma)=default | |
| Copy Constructor. | |
| AccumulatedSurfaceMaterial (const BinUtility &binUtility, double splitFactor=0.) | |
| Explicit constructor with only full MaterialSlab, for one-dimensional binning. | |
| AccumulatedSurfaceMaterial (double splitFactor=0.) | |
| Default Constructor - for homogeneous material. | |
| ~AccumulatedSurfaceMaterial ()=default | |
| Destructor. | |
| std::array< std::size_t, 3 > | accumulate (const Vector2 &lp, const MaterialSlab &mp, double pathCorrection=1.) |
| Assign a material properties object. | |
| std::array< std::size_t, 3 > | accumulate (const Vector3 &gp, const MaterialSlab &mp, double pathCorrection=1.) |
| Assign a material properties object. | |
| const AccumulatedMatrix & | accumulatedMaterial () const |
| Access to the accumulated material. | |
| const BinUtility & | binUtility () const |
| Return the BinUtility. | |
| AccumulatedSurfaceMaterial & | operator= (AccumulatedSurfaceMaterial &&asma)=default |
| Assignment Move operator. | |
| AccumulatedSurfaceMaterial & | operator= (const AccumulatedSurfaceMaterial &asma)=default |
| Assignment operator. | |
| double | splitFactor () const |
| Access to the split factor. | |
| std::unique_ptr< const ISurfaceMaterial > | totalAverage () |
| Total average creates SurfaceMaterial. | |
| void | trackAverage (const std::vector< std::array< std::size_t, 3 > > &trackBins={}, bool emptyHit=false) |
| Average the information accumulated from one mapped track. | |
| void | trackAverage (const Vector3 &gp, bool emptyHit=false) |
| Average the information accumulated from one mapped track. | |
| void | trackVariance (const std::vector< std::array< std::size_t, 3 > > &trackBins, MaterialSlab slabReference, bool emptyHit=false) |
| Use the accumulated material to update the material variance. | |
| void | trackVariance (const Vector3 &gp, MaterialSlab slabReference, bool emptyHit=false) |
| Use the accumulated material to update the material variance. | |
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
| using Acts::AccumulatedSurfaceMaterial::AccumulatedMatrix = std::vector<AccumulatedVector> |
Type alias for matrix (vector of vectors) of accumulated material slabs.
| using Acts::AccumulatedSurfaceMaterial::AccumulatedVector = std::vector<AccumulatedMaterialSlab> |
Type alias for vector of accumulated material slabs.
|
explicit |
Default Constructor - for homogeneous material.
| splitFactor | is the pre/post splitting directive |
|
explicit |
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 |
|
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< std::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 |
| std::array< std::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 |
| const AccumulatedSurfaceMaterial::AccumulatedMatrix & Acts::AccumulatedSurfaceMaterial::accumulatedMaterial | ( | ) | const |
Access to the accumulated material.
| const BinUtility & Acts::AccumulatedSurfaceMaterial::binUtility | ( | ) | const |
Return the BinUtility.
|
default |
Assignment Move operator.
| asma | is the source object to be copied |
|
default |
Assignment operator.
| asma | is the source object to be copied |
| double Acts::AccumulatedSurfaceMaterial::splitFactor | ( | ) | const |
Access to the split factor.
| std::unique_ptr< const ISurfaceMaterial > Acts::AccumulatedSurfaceMaterial::totalAverage | ( | ) |
Total average creates SurfaceMaterial.
| void Acts::AccumulatedSurfaceMaterial::trackAverage | ( | const std::vector< std::array< std::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 |
| void Acts::AccumulatedSurfaceMaterial::trackAverage | ( | const Vector3 & | gp, |
| bool | emptyHit = false ) |
Average the information accumulated from one mapped track.
| gp | global position for the bin assignment |
| emptyHit | indicator if this is an empty assignment |
| void Acts::AccumulatedSurfaceMaterial::trackVariance | ( | const std::vector< std::array< std::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 |
| 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 |