9#ifndef TRKEXINTERFACES_ITIMEDMATEFFUPDATOR_H
10#define TRKEXINTERFACES_ITIMEDMATEFFUPDATOR_H
13#include "GaudiKernel/IAlgTool.h"
56 virtual std::unique_ptr<TrackParameters>
update(
72 virtual std::unique_ptr<TrackParameters>
update(
89 virtual std::unique_ptr<TrackParameters>
update(
93 double pathcorrection,
101 virtual std::unique_ptr<TrackParameters>
interact(
136inline std::unique_ptr<Trk::TrackParameters>
Interface class for the updater AlgTool, it inherits from IAlgTool Detailed information about private...
virtual void validationAction() const
Validation Action: Can be implemented optionally, outside access to internal validation steps.
virtual std::unique_ptr< TrackParameters > update(double, const TrackParameters *parm, const MaterialEffectsOnTrack &, ParticleHypothesis particle=pion, MaterialUpdateMode matupmode=addNoise) const
User updator interface (full update for a layer): The parmeters are given as a pointer.
virtual std::unique_ptr< TrackParameters > update(const TrackParameters *parm, const Layer &sf, TimeLimit &time, PathLimit &path, Trk::GeometrySignature geoID, PropDirection dir=alongMomentum, ParticleHypothesis particle=pion) const =0
Updator interface (full update for a layer): The parmeters are given as a const pointer.
virtual ~ITimedMatEffUpdator()=default
Virtual destructor.
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
virtual std::unique_ptr< TrackParameters > interact(double time, const Amg::Vector3D &position, const Amg::Vector3D &momentum, ParticleHypothesis particle, int process, const Trk::Material *extMatProp=nullptr) const
Updator interface: Perform pre-selected interaction.
virtual void modelAction(const TrackParameters *parm=nullptr) const
Model Action: Can be implemented optionally.
virtual std::unique_ptr< TrackParameters > update(double time, const TrackParameters &parm, const MaterialProperties &mprop, double pathcorrection, PropDirection dir=alongMomentum, ParticleHypothesis particle=pion, MaterialUpdateMode matupmode=addNoise) const =0
Updator interface: The parmeters are given as a pointer, they are delete inside the update method.
virtual void recordBremPhoton(double, double, double, const Amg::Vector3D &, Amg::Vector3D &, Trk::ParticleHypothesis) const
the helper function for a brem photon record
Base Class for a Detector Layer in the Tracking realm.
represents the full description of deflection and e-loss of a track in material.
Material with information about thickness of material.
A common object to be contained by.
std::unique_ptr< ParametersBase< DIM, T > > uniqueClone() const
clone method for polymorphic deep copy returning unique_ptr; it is not overriden, but uses the existi...
const std::string process
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
MaterialUpdateMode
This is a steering enum to force the material update it can be: (1) addNoise (-1) removeNoise Second ...
ParametersBase< TrackParametersDim, Charged > TrackParameters
static const InterfaceID IID_ITimedMatEffUpdator("ITimedMatEffUpdator", 1, 0)
Interface ID for ITimedMatEffUpdator.