ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::IntersectionMaterialAssigner Class Referencefinal

A purely intersection based material assigner on a trial and error basis. More...

#include <Acts/Material/IntersectionMaterialAssigner.hpp>

Inheritance diagram for Acts::IntersectionMaterialAssigner:
[legend]
Collaboration diagram for Acts::IntersectionMaterialAssigner:
[legend]

Classes

struct  Config
 Nested configuration struct. More...

Public Member Functions

 IntersectionMaterialAssigner (const Config &cfg, std::unique_ptr< const Logger > mlogger=getDefaultLogger("IntersectionMaterialAssigner", Logging::INFO))
 Construct with the configuration.
std::pair< std::vector< IAssignmentFinder::SurfaceAssignment >, std::vector< IAssignmentFinder::VolumeAssignment > > assignmentCandidates (const GeometryContext &gctx, const MagneticFieldContext &mctx, const Vector3 &position, const Vector3 &direction) const final
 Method for generating assignment candidates for the material interaction assignment to surfaces or volumes.
Public Member Functions inherited from Acts::IAssignmentFinder
virtual ~IAssignmentFinder ()=default
 Virtual destructor.

Detailed Description

A purely intersection based material assigner on a trial and error basis.

This is to be used if the navigation of the propagator is not available or not reliable, or simply for cross-checking the results.

Note
that differently to the PropagatorMaterialAssigner, this assigner needs to be preconditioned with the surfaces and volumes that are tested for candidate inclusion.

In a large-n material interaction scenario, this is not the most efficient

Constructor & Destructor Documentation

◆ IntersectionMaterialAssigner()

Acts::IntersectionMaterialAssigner::IntersectionMaterialAssigner ( const Config & cfg,
std::unique_ptr< const Logger > mlogger = getDefaultLogger("IntersectionMaterialAssigner", Logging::INFO) )
explicit

Construct with the configuration.

Parameters
cfgis the configuration struct
mloggeris the logger

Member Function Documentation

◆ assignmentCandidates()

std::pair< std::vector< IAssignmentFinder::SurfaceAssignment >, std::vector< IAssignmentFinder::VolumeAssignment > > Acts::IntersectionMaterialAssigner::assignmentCandidates ( const GeometryContext & gctx,
const MagneticFieldContext & mctx,
const Vector3 & position,
const Vector3 & direction ) const
finalvirtual

Method for generating assignment candidates for the material interaction assignment to surfaces or volumes.

Parameters
gctxis the geometry context
mctxis the magnetic field context
positionis the position of the initial ray
directionis the direction of initial ray
Returns
a vector of Surface Assignments and Volume Assignments

Implements Acts::IAssignmentFinder.