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

#include <IExtrapolator.h>

Inheritance diagram for Trk::IExtrapolator:
Collaboration diagram for Trk::IExtrapolator:

Public Member Functions

virtual ~IExtrapolator ()
 Virtual destructor. More...
 
virtual std::unique_ptr< NeutralParametersextrapolate (const NeutralParameters &parameters, const Surface &sf, PropDirection dir=anyDirection, const BoundaryCheck &bcheck=true) const =0
 Main extrapolation Interface starting from neutral parameters and aiming at surface. More...
 
virtual std::unique_ptr< TrackParametersextrapolate (const EventContext &ctx, const TrackParameters &parm, const Surface &sf, PropDirection dir=anyDirection, const BoundaryCheck &bcheck=true, ParticleHypothesis particle=pion, MaterialUpdateMode matupmode=addNoise, Trk::ExtrapolationCache *cache=nullptr) const =0
 Main extrapolation interface starting from charged parameters and aiming at Surface. More...
 
virtual std::vector< std::unique_ptr< TrackParameters > > extrapolateStepwise (const EventContext &ctx, const TrackParameters &parm, const Surface &sf, PropDirection dir=anyDirection, const BoundaryCheck &bcheck=true, ParticleHypothesis particle=pion) const =0
 Extrapolation method where a step-wise navigation to the destination surface is performed. More...
 
virtual std::unique_ptr< TrackParametersextrapolateTrack (const EventContext &ctx, const Track &trk, const Surface &sf, PropDirection dir=anyDirection, const BoundaryCheck &bcheck=true, ParticleHypothesis particle=pion, MaterialUpdateMode matupmode=addNoise, Trk::ExtrapolationCache *cache=nullptr) const =0
 Main extrapolation interface starting from a Trk::Track and aiming at Surface. More...
 
virtual std::unique_ptr< TrackParametersextrapolateDirectly (const EventContext &ctx, const TrackParameters &parm, const Surface &sf, PropDirection dir=anyDirection, const BoundaryCheck &bcheck=true, ParticleHypothesis particle=pion) const =0
 Extrapolate directly: Forwards directly the call to the configured "Global" propagator. More...
 
virtual std::vector< std::unique_ptr< TrackParameters > > extrapolateBlindly (const EventContext &ctx, const TrackParameters &parm, PropDirection dir=anyDirection, const BoundaryCheck &bcheck=true, ParticleHypothesis particle=pion, const Volume *boundaryVol=nullptr) const =0
 extrapolateBlindly like step-wise extrapolation, but without a destination surface. More...
 
virtual std::pair< std::unique_ptr< TrackParameters >, const Trk::Layer * > extrapolateToNextActiveLayerM (const EventContext &ctx, const TrackParameters &parm, PropDirection dir, const BoundaryCheck &bcheck, std::vector< const Trk::TrackStateOnSurface * > &material, ParticleHypothesis particle=pion, MaterialUpdateMode matupmode=addNoise) const =0
 Extrapolation to the next active layer with material collection. More...
 
virtual std::unique_ptr< TrackParametersextrapolateToVolume (const EventContext &ctx, const TrackParameters &parm, const Trk::TrackingVolume &vol, PropDirection dir=anyDirection, ParticleHypothesis particle=pion) const =0
 Extrapolation to volume : More...
 
virtual std::vector< const TrackStateOnSurface * > * extrapolateM (const EventContext &ctx, const TrackParameters &parameters, const Surface &sf, PropDirection dir, const BoundaryCheck &bcheck, ParticleHypothesis particle=pion, Trk::ExtrapolationCache *cache=nullptr) const =0
 Extrapolate to a destination surface, while collecting all the material layers in between. More...
 
virtual std::unique_ptr< std::vector< std::pair< std::unique_ptr< Trk::TrackParameters >, int > > > collectIntersections (const EventContext &ctx, const Trk::TrackParameters &parm, Trk::PropDirection dir, Trk::ParticleHypothesis particle, std::vector< const Trk::TrackStateOnSurface * > *&material, int destination=3) const =0
 Extrapolation method collecting intersections with subdetector boundaries and active volumes/layers. More...
 
virtual const TrackingGeometrytrackingGeometry () const =0
 Return the TrackingGeometry used by the Extrapolator (forwards information from Navigator) More...
 

Static Public Member Functions

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

Detailed Description

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

The ownership of the returned parameters is passed to caller.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch
Christos Anastopoulos (Athena MT)

Definition at line 61 of file IExtrapolator.h.

Constructor & Destructor Documentation

◆ ~IExtrapolator()

virtual Trk::IExtrapolator::~IExtrapolator ( )
inlinevirtual

Virtual destructor.

Definition at line 65 of file IExtrapolator.h.

65 {}

Member Function Documentation

◆ collectIntersections()

virtual std::unique_ptr< std::vector<std::pair<std::unique_ptr<Trk::TrackParameters>, int> > > Trk::IExtrapolator::collectIntersections ( const EventContext &  ctx,
const Trk::TrackParameters parm,
Trk::PropDirection  dir,
Trk::ParticleHypothesis  particle,
std::vector< const Trk::TrackStateOnSurface * > *&  material,
int  destination = 3 
) const
pure virtual

Extrapolation method collecting intersections with subdetector boundaries and active volumes/layers.

Destination (subdetector boundary) : geoID (+ entry, -exit) default Calo = 3 exit (see GeometrySignature.h) Employs the STEP propagator, used in the ParticleCaloExtension mainly for muons and Particle Flow.

Implemented in Trk::Extrapolator.

◆ extrapolate() [1/2]

virtual std::unique_ptr<TrackParameters> Trk::IExtrapolator::extrapolate ( const EventContext &  ctx,
const TrackParameters parm,
const Surface sf,
PropDirection  dir = anyDirection,
const BoundaryCheck bcheck = true,
ParticleHypothesis  particle = pion,
MaterialUpdateMode  matupmode = addNoise,
Trk::ExtrapolationCache cache = nullptr 
) const
pure virtual

Main extrapolation interface starting from charged parameters and aiming at Surface.

Implemented in Trk::Extrapolator.

◆ extrapolate() [2/2]

virtual std::unique_ptr<NeutralParameters> Trk::IExtrapolator::extrapolate ( const NeutralParameters parameters,
const Surface sf,
PropDirection  dir = anyDirection,
const BoundaryCheck bcheck = true 
) const
pure virtual

Main extrapolation Interface starting from neutral parameters and aiming at surface.

Implemented in Trk::Extrapolator.

◆ extrapolateBlindly()

virtual std::vector<std::unique_ptr<TrackParameters> > Trk::IExtrapolator::extrapolateBlindly ( const EventContext &  ctx,
const TrackParameters parm,
PropDirection  dir = anyDirection,
const BoundaryCheck bcheck = true,
ParticleHypothesis  particle = pion,
const Volume boundaryVol = nullptr 
) const
pure virtual

extrapolateBlindly like step-wise extrapolation, but without a destination surface.

Blind inside the given tracking Volume (boundaryVol), if none is given the reference surface for destination is used

Implemented in Trk::Extrapolator.

◆ extrapolateDirectly()

virtual std::unique_ptr<TrackParameters> Trk::IExtrapolator::extrapolateDirectly ( const EventContext &  ctx,
const TrackParameters parm,
const Surface sf,
PropDirection  dir = anyDirection,
const BoundaryCheck bcheck = true,
ParticleHypothesis  particle = pion 
) const
pure virtual

Extrapolate directly: Forwards directly the call to the configured "Global" propagator.

No navigation and no material effecs. Useful when we need fast propagation without these.

Implemented in Trk::Extrapolator.

◆ extrapolateM()

virtual std::vector<const TrackStateOnSurface*>* Trk::IExtrapolator::extrapolateM ( const EventContext &  ctx,
const TrackParameters parameters,
const Surface sf,
PropDirection  dir,
const BoundaryCheck bcheck,
ParticleHypothesis  particle = pion,
Trk::ExtrapolationCache cache = nullptr 
) const
pure virtual

Extrapolate to a destination surface, while collecting all the material layers in between.

Useful for chi2 based tracking.

Implemented in Trk::Extrapolator.

◆ extrapolateStepwise()

virtual std::vector<std::unique_ptr<TrackParameters> > Trk::IExtrapolator::extrapolateStepwise ( const EventContext &  ctx,
const TrackParameters parm,
const Surface sf,
PropDirection  dir = anyDirection,
const BoundaryCheck bcheck = true,
ParticleHypothesis  particle = pion 
) const
pure virtual

Extrapolation method where a step-wise navigation to the destination surface is performed.

Returns a vector parameters on all detector elements. Used mainly by the hole-search

Implemented in Trk::Extrapolator.

◆ extrapolateToNextActiveLayerM()

virtual std::pair<std::unique_ptr<TrackParameters>, const Trk::Layer*> Trk::IExtrapolator::extrapolateToNextActiveLayerM ( const EventContext &  ctx,
const TrackParameters parm,
PropDirection  dir,
const BoundaryCheck bcheck,
std::vector< const Trk::TrackStateOnSurface * > &  material,
ParticleHypothesis  particle = pion,
MaterialUpdateMode  matupmode = addNoise 
) const
pure virtual

Extrapolation to the next active layer with material collection.

Implemented in Trk::Extrapolator.

◆ extrapolateToVolume()

virtual std::unique_ptr<TrackParameters> Trk::IExtrapolator::extrapolateToVolume ( const EventContext &  ctx,
const TrackParameters parm,
const Trk::TrackingVolume vol,
PropDirection  dir = anyDirection,
ParticleHypothesis  particle = pion 
) const
pure virtual

Extrapolation to volume :

Implemented in Trk::Extrapolator.

◆ extrapolateTrack()

virtual std::unique_ptr<TrackParameters> Trk::IExtrapolator::extrapolateTrack ( const EventContext &  ctx,
const Track trk,
const Surface sf,
PropDirection  dir = anyDirection,
const BoundaryCheck bcheck = true,
ParticleHypothesis  particle = pion,
MaterialUpdateMode  matupmode = addNoise,
Trk::ExtrapolationCache cache = nullptr 
) const
pure virtual

Main extrapolation interface starting from a Trk::Track and aiming at Surface.

It uses the navigator to find the closest parameters of the track to the surface.

Implemented in Trk::Extrapolator.

◆ interfaceID()

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

AlgTool interface methods.

Definition at line 68 of file IExtrapolator.h.

68 { return IID_IExtrapolator; }

◆ trackingGeometry()

virtual const TrackingGeometry* Trk::IExtrapolator::trackingGeometry ( ) const
pure virtual

Return the TrackingGeometry used by the Extrapolator (forwards information from Navigator)

Implemented in Trk::Extrapolator.


The documentation for this class was generated from the following file: