![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKEXINTERFACES_ITIMEDMATEFFUPDATOR_H
10 #define TRKEXINTERFACES_ITIMEDMATEFFUPDATOR_H
13 #include "GaudiKernel/IAlgTool.h"
28 class MaterialProperties;
29 class MaterialEffectsOnTrack;
32 static const InterfaceID IID_ITimedMatEffUpdator(
"ITimedMatEffUpdator", 1, 0);
49 static const InterfaceID&
interfaceID() {
return IID_ITimedMatEffUpdator; }
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(
136 inline std::unique_ptr<Trk::TrackParameters>
147 #endif // TRKEXINTERFACES_TIMEDMATEFFUPDATOR_H
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
path
python interpreter configuration --------------------------------------—
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...
virtual ~ITimedMatEffUpdator()=default
Virtual destructor.
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.
MaterialUpdateMode
This is a steering enum to force the material update it can be: (1) addNoise (-1) removeNoise Second ...
represents the full description of deflection and e-loss of a track in material.
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 void recordBremPhoton(double, double, double, const Amg::Vector3D &, Amg::Vector3D &, Trk::ParticleHypothesis) const
the helper function for a brem photon record
Ensure that the ATLAS eigen extensions are properly loaded.
Eigen::Matrix< double, 3, 1 > Vector3D
def time(flags, cells_name, *args, **kw)
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 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.