File MaterialInteraction.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

Typedefs

using RecordedMaterialTrack = std::pair<std::pair<Acts::Vector3, Acts::Vector3>, RecordedMaterial>

And recorded material track.

  • this is start: position, start momentum and the Recorded material

struct InteractionVolume
#include <Acts/Material/MaterialInteraction.hpp>

The Material interaction volume struct It acts as a switch between detctor and tracking volume as long as those co-exist alongside.

Public Functions

InteractionVolume() = default

Empty constructor.

inline InteractionVolume(const Experimental::DetectorVolume *dv)

Constructor from detector volume.

Parameters

dv – The detector volume

inline InteractionVolume(const TrackingVolume *tv)

Constructor from tracking volume.

Parameters

tv – The tracking volume

inline bool empty() const

Check if the volume is valid.

inline GeometryIdentifier geometryId() const

Forward the geometry identifier.

Public Members

const Experimental::DetectorVolume *detectorVolume = nullptr

The detector volume.

const TrackingVolume *trackingVolume = nullptr

The tracking volume.

struct MaterialInteraction
#include <Acts/Material/MaterialInteraction.hpp>

The Material interaction struct It records the surface and the passed material This is only necessary recorded when configured.

Public Members

double deltaP = 0.0

The momentum change due to the interaction.

Vector3 direction = Vector3(0., 0., 0)

The particle direction at the interaction.

Vector3 intersection = Vector3(0., 0., 0)

The position where the interaction occurred.

GeometryIdentifier intersectionID

The ID where the interaction occurred.

MaterialSlab materialSlab

The effective, passed material properties including the path correction.

double pathCorrection = 1.

The path correction factor due to non-zero incidence on the surface.

Vector3 position = Vector3(0., 0., 0)

The particle position at the interaction.

double sigmaPhi2 = 0.0

Expected phi variance due to the interactions.

double sigmaQoP2 = 0.0

Expected q/p variance due to the interactions.

double sigmaTheta2 = 0.0

Expected theta variance due to the interactions.

const Surface *surface = nullptr

The surface where the interaction occurred.

double time = 0.0

The particle time at the interaction.

bool updatedVolumeStep = false

Update the volume step to implement the proper step size.

InteractionVolume volume = {}

The volume where the interaction occurred.

struct RecordedMaterial
#include <Acts/Material/MaterialInteraction.hpp>

Simple result struct to be returned It mainly acts as an internal state which is created for every propagation/extrapolation step.

Public Members

double materialInL0 = 0.

The accumulated materialInL0.

std::vector<MaterialInteraction> materialInteractions

This one is only filled when recordInteractions is switched on.

double materialInX0 = 0.