|
ACTS
Experiment-independent tracking
|
SurfaceMaterialMapper. More...
#include <Acts/Material/SurfaceMaterialMapper.hpp>
Classes | |
| struct | Config |
| Nested Configuration struct for the material mapper. More... | |
| struct | State |
| Nested State struct which is used for the mapping prococess. More... | |
Public Types | |
| using | StraightLinePropagator = Propagator<StraightLineStepper, Navigator> |
| Type alias for straight line propagator used in material mapping. | |
Public Member Functions | |
| SurfaceMaterialMapper ()=delete | |
| Delete the Default constructor. | |
| SurfaceMaterialMapper (const Config &cfg, StraightLinePropagator propagator, std::unique_ptr< const Logger > slogger=getDefaultLogger("SurfaceMaterialMapper", Logging::INFO)) | |
| Constructor with config object. | |
| State | createState (const GeometryContext &gctx, const MagneticFieldContext &mctx, const TrackingGeometry &tGeometry) const |
| helper method that creates the cache for the mapping | |
| void | finalizeMaps (State &mState) const |
| Method to finalize the maps. | |
| void | mapInteraction (State &mState, RecordedMaterialTrack &mTrack) const |
| Loop through all the material interactions and add them to the associated surface. | |
| void | mapMaterialTrack (State &mState, RecordedMaterialTrack &mTrack) const |
| Process/map a single track. | |
| void | mapSurfaceInteraction (State &mState, std::vector< MaterialInteraction > &rMaterial) const |
| Loop through all the material interactions and add them to the associated surface. | |
SurfaceMaterialMapper.
This is the main feature tool to map material information from a 3D geometry onto the TrackingGeometry with its surface material description.
The process runs as such:
1) TrackingGeometry is parsed and for each Surface with ProtoSurfaceMaterial a local store is initialized the identification is done hereby through the Surface::GeometryIdentifier
2) A Cache is generated that is used to keep the filling thread local, the filling is protected with std::mutex
3) A number of N material tracks is read in, each track has : origin, direction, material steps < position, step length, x0, l0, a, z, rho >
for each track: surfaces along the origin/direction path are collected the closest material steps are assigned
4) Each 'hit' bin per event is counted and averaged at the end of the run
| using Acts::SurfaceMaterialMapper::StraightLinePropagator = Propagator<StraightLineStepper, Navigator> |
Type alias for straight line propagator used in material mapping.
|
delete |
Delete the Default constructor.
| Acts::SurfaceMaterialMapper::SurfaceMaterialMapper | ( | const Config & | cfg, |
| StraightLinePropagator | propagator, | ||
| std::unique_ptr< const Logger > | slogger = getDefaultLogger("SurfaceMaterialMapper", Logging::INFO) ) |
Constructor with config object.
| cfg | Configuration struct |
| propagator | The straight line propagator |
| slogger | The logger |
| State Acts::SurfaceMaterialMapper::createState | ( | const GeometryContext & | gctx, |
| const MagneticFieldContext & | mctx, | ||
| const TrackingGeometry & | tGeometry ) const |
helper method that creates the cache for the mapping
| [in] | gctx | The geometry context to use |
| [in] | mctx | The magnetic field context to use |
| [in] | tGeometry | The geometry which should be mapped |
This method takes a TrackingGeometry, finds all surfaces with material proxis and returns you a Cache object tO be used
| void Acts::SurfaceMaterialMapper::finalizeMaps | ( | State & | mState | ) | const |
Method to finalize the maps.
It calls the final run averaging and then transforms the AccumulatedSurface material class to a surface material class type
| mState |
| void Acts::SurfaceMaterialMapper::mapInteraction | ( | State & | mState, |
| RecordedMaterialTrack & | mTrack ) const |
Loop through all the material interactions and add them to the associated surface.
| mState | The current state map |
| mTrack | The material track to be mapped |
| void Acts::SurfaceMaterialMapper::mapMaterialTrack | ( | State & | mState, |
| RecordedMaterialTrack & | mTrack ) const |
Process/map a single track.
| mState | The current state map |
| mTrack | The material track to be mapped |
| void Acts::SurfaceMaterialMapper::mapSurfaceInteraction | ( | State & | mState, |
| std::vector< MaterialInteraction > & | rMaterial ) const |
Loop through all the material interactions and add them to the associated surface.
| mState | The current state map |
| rMaterial | Vector of all the material interactions that will be mapped |