ATLAS Offline Software
Public Member Functions | Static Public Member Functions | List of all members
Trk::ITimedMatEffUpdator Class Referenceabstract

#include <ITimedMatEffUpdator.h>

Inheritance diagram for Trk::ITimedMatEffUpdator:
Collaboration diagram for Trk::ITimedMatEffUpdator:

Public Member Functions

virtual ~ITimedMatEffUpdator ()=default
 Virtual destructor. More...
 
virtual std::unique_ptr< TrackParametersupdate (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. More...
 
virtual std::unique_ptr< TrackParametersupdate (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. More...
 
virtual std::unique_ptr< TrackParametersupdate (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. More...
 
virtual std::unique_ptr< TrackParametersinteract (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. More...
 
virtual void recordBremPhoton (double, double, double, const Amg::Vector3D &, Amg::Vector3D &, Trk::ParticleHypothesis) const
 the helper function for a brem photon record More...
 
virtual void validationAction () const
 Validation Action: Can be implemented optionally, outside access to internal validation steps. More...
 
virtual void modelAction (const TrackParameters *parm=nullptr) const
 Model Action: Can be implemented optionally. More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool and IAlgTool interface methods. More...
 

Detailed Description

Interface class for the updater AlgTool, it inherits from IAlgTool Detailed information about private members and member functions can be found in the actual implementation class MaterialUpdator which inherits from this one.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch, sarka.nosp@m..tod.nosp@m.orova.nosp@m.@cer.nosp@m.n.ch

Definition at line 42 of file ITimedMatEffUpdator.h.

Constructor & Destructor Documentation

◆ ~ITimedMatEffUpdator()

virtual Trk::ITimedMatEffUpdator::~ITimedMatEffUpdator ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ interact()

std::unique_ptr< Trk::TrackParameters > Trk::ITimedMatEffUpdator::interact ( double  time,
const Amg::Vector3D position,
const Amg::Vector3D momentum,
ParticleHypothesis  particle,
int  process,
const Trk::Material extMatProp = nullptr 
) const
inlinevirtual

Updator interface: Perform pre-selected interaction.

Definition at line 137 of file ITimedMatEffUpdator.h.

143 {
144  return nullptr;
145 }

◆ interfaceID()

static const InterfaceID& Trk::ITimedMatEffUpdator::interfaceID ( )
inlinestatic

AlgTool and IAlgTool interface methods.

Definition at line 49 of file ITimedMatEffUpdator.h.

49 { return IID_ITimedMatEffUpdator; }

◆ modelAction()

virtual void Trk::ITimedMatEffUpdator::modelAction ( const TrackParameters parm = nullptr) const
inlinevirtual

Model Action: Can be implemented optionally.

Provides the possibility of doing non-local MaterialEffectsUpdates for different models

Definition at line 127 of file ITimedMatEffUpdator.h.

128  {
129  if (parm)
130  return;
131  }

◆ recordBremPhoton()

virtual void Trk::ITimedMatEffUpdator::recordBremPhoton ( double  ,
double  ,
double  ,
const Amg::Vector3D ,
Amg::Vector3D ,
Trk::ParticleHypothesis   
) const
inlinevirtual

the helper function for a brem photon record

Reimplemented in Trk::NIMatEffUpdator.

Definition at line 110 of file ITimedMatEffUpdator.h.

116  {}

◆ update() [1/3]

virtual std::unique_ptr<TrackParameters> Trk::ITimedMatEffUpdator::update ( const TrackParameters parm,
const Layer sf,
TimeLimit time,
PathLimit path,
Trk::GeometrySignature  geoID,
PropDirection  dir = alongMomentum,
ParticleHypothesis  particle = pion 
) const
pure virtual

Updator interface (full update for a layer): The parmeters are given as a const pointer.

We return newly created non const parameters as unique_ptr method. Layer-based material update

Implemented in Trk::NIMatEffUpdator.

◆ update() [2/3]

virtual std::unique_ptr<TrackParameters> Trk::ITimedMatEffUpdator::update ( double  time,
const TrackParameters parm,
const MaterialProperties mprop,
double  pathcorrection,
PropDirection  dir = alongMomentum,
ParticleHypothesis  particle = pion,
MaterialUpdateMode  matupmode = addNoise 
) const
pure virtual

Updator interface: The parmeters are given as a pointer, they are delete inside the update method.

MaterialProperties based material update

  • used by all Layer-based methods

Implemented in Trk::NIMatEffUpdator.

◆ update() [3/3]

virtual std::unique_ptr<TrackParameters> Trk::ITimedMatEffUpdator::update ( double  ,
const TrackParameters parm,
const MaterialEffectsOnTrack ,
ParticleHypothesis  particle = pion,
MaterialUpdateMode  matupmode = addNoise 
) const
inlinevirtual

User updator interface (full update for a layer): The parmeters are given as a pointer.

The parmeters are given as a const pointer. We return newly created non const parameters as unique_ptr Update occurs on the place where the parameters parm are according to the specified MaterialEffectsOnTrack

Reimplemented in Trk::NIMatEffUpdator.

Definition at line 72 of file ITimedMatEffUpdator.h.

78  {
79  (void)particle;
80  (void)matupmode;
81  return parm->uniqueClone();
82  }

◆ validationAction()

virtual void Trk::ITimedMatEffUpdator::validationAction ( ) const
inlinevirtual

Validation Action: Can be implemented optionally, outside access to internal validation steps.

Definition at line 121 of file ITimedMatEffUpdator.h.

121 {}

The documentation for this class was generated from the following file:
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76