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

#include <IPropagationEngine.h>

Inheritance diagram for Trk::IPropagationEngine:
Collaboration diagram for Trk::IPropagationEngine:

Public Member Functions

virtual ~IPropagationEngine ()
 Virtual destructor. More...
 
virtual ExtrapolationCode propagate (ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const =0
 resolve the boundary situation - for charged particles Possible return codes : More...
 
virtual ExtrapolationCode propagate (ExCellNeutral &enCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const =0
 resolve the boundary situation - for neutral particles Possible return codes : More...
 

Static Public Member Functions

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

Protected Attributes

std::string m_sopPrefix
 < SCREEN output formatting (SOP) - unify amongst extrapolation engines More...
 
std::string m_sopPostfix
 prefix for screen output More...
 

Detailed Description

A propagation engine wrapping the propagator algtool it respects the path limit to stop particles if needed.

If the propagation is successful to the surface it will return SuccessfulDestination, the parameters will be attached to the ExtrapolationCell as leadParameters, such that the engine can chose.

It also wraps the MultiTrackParameters

Author
Andreas Salzburger -at - cern.ch

Definition at line 40 of file IPropagationEngine.h.

Constructor & Destructor Documentation

◆ ~IPropagationEngine()

virtual Trk::IPropagationEngine::~IPropagationEngine ( )
inlinevirtual

Virtual destructor.

Definition at line 45 of file IPropagationEngine.h.

45 {}

Member Function Documentation

◆ interfaceID()

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

AlgTool interface methods.

Definition at line 48 of file IPropagationEngine.h.

48 { return IID_IPropagationEngine; }

◆ propagate() [1/2]

virtual ExtrapolationCode Trk::IPropagationEngine::propagate ( ExCellCharged ecCell,
const Surface sf,
PropDirection  dir = alongMomentum,
BoundaryCheck  bcheck = true,
bool  returnCurvilinear = true 
) const
pure virtual

resolve the boundary situation - for charged particles Possible return codes :

  • SuccessPathLimit (path limit reached)
  • SucessDestination (surface hit, only when finalPropagation == true)
  • InProgress (surface hit, when finalPropagation == false)
  • Recovered (surface not hit, leadParameters stay untouched)

Implemented in Trk::PropagationEngine.

◆ propagate() [2/2]

virtual ExtrapolationCode Trk::IPropagationEngine::propagate ( ExCellNeutral enCell,
const Surface sf,
PropDirection  dir = alongMomentum,
BoundaryCheck  bcheck = true,
bool  returnCurvilinear = true 
) const
pure virtual

resolve the boundary situation - for neutral particles Possible return codes :

  • SuccessPathLimit (path limit reached)
  • SucessDestination (surface hit, only when finalPropagation == true)
  • InProgress (surface hit, when finalPropagation == false)
  • Recovered (surface not hit, leadParameters stay untouched)

Implemented in Trk::PropagationEngine.

Member Data Documentation

◆ m_sopPostfix

std::string Trk::IPropagationEngine::m_sopPostfix
protected

prefix for screen output

Definition at line 79 of file IPropagationEngine.h.

◆ m_sopPrefix

std::string Trk::IPropagationEngine::m_sopPrefix
protected

< SCREEN output formatting (SOP) - unify amongst extrapolation engines

prefix for screen output

Definition at line 78 of file IPropagationEngine.h.


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