Skip to content
Snippets Groups Projects

IPropagator/IExtrapolator remove virtual from methods that do not need to be virtual

5 files
+ 188
190
Compare changes
  • Side-by-side
  • Inline
Files
5
@@ -264,35 +264,37 @@ namespace Trk {
@@ -264,35 +264,37 @@ namespace Trk {
virtual const IPropagator* subPropagator(const TrackingVolume& tvol) const = 0;
virtual const IPropagator* subPropagator(const TrackingVolume& tvol) const = 0;
/** [TrackParameters] old interfaces WITHOUT EventContext ------------------------------------------ */
/** [TrackParameters] old interfaces WITHOUT EventContext
* Implemented here in terms of the new ones
* so need to be re-implemented
/** xAOD 0) xAOD track particle */
**/
virtual const TrackParameters* extrapolate(const xAOD::TrackParticle& particleBase,
const Surface& sf,
/** xAOD 0) xAOD track particle */
PropDirection dir=anyDirection,
const TrackParameters* extrapolate(
const BoundaryCheck& bcheck = true,
const xAOD::TrackParticle& particleBase,
ParticleHypothesis particle=pion,
const Surface& sf,
MaterialUpdateMode matupmode=addNoise) const;
PropDirection dir = anyDirection,
const BoundaryCheck& bcheck = true,
 
ParticleHypothesis particle = pion,
 
MaterialUpdateMode matupmode = addNoise) const;
/** 1) <b>Configured AlgTool extrapolation method</b>):
/** 1) <b>Configured AlgTool extrapolation method</b>):
- returns the TrackParameters at the Destination Surface (if extrapolation succeeds),
- returns the TrackParameters at the Destination Surface (if extrapolation succeeds),
nullptr if extrapolation to destination surface does not succeed */
nullptr if extrapolation to destination surface does not succeed */
virtual const TrackParameters* extrapolate(const TrackParameters& parm,
const TrackParameters* extrapolate(
const Surface& sf,
const TrackParameters& parm,
PropDirection dir = anyDirection,
const Surface& sf,
const BoundaryCheck& bcheck = true,
PropDirection dir = anyDirection,
ParticleHypothesis particle = pion,
const BoundaryCheck& bcheck = true,
MaterialUpdateMode matupmode = addNoise,
ParticleHypothesis particle = pion,
Trk::ExtrapolationCache* cache = nullptr) const;
MaterialUpdateMode matupmode = addNoise,
 
Trk::ExtrapolationCache* cache = nullptr) const;
/** 2) <b>Configured AlgTool extrapolation method</b>):
/** 2) <b>Configured AlgTool extrapolation method</b>):
- returns a vector of TrackParameters representing the tracking detector elements
- returns a vector of TrackParameters representing the tracking detector elements
hit in between and the TrackParameters at the destination Surface (if final extrapolation suceeds),
hit in between and the TrackParameters at the destination Surface (if final extrapolation suceeds),
empty if the extrapolation to the destination surface does not suceed*/
empty if the extrapolation to the destination surface does not suceed*/
virtual std::vector<std::unique_ptr<const TrackParameters>> extrapolateStepwise(
std::vector<std::unique_ptr<const TrackParameters>> extrapolateStepwise(
const TrackParameters& parm,
const TrackParameters& parm,
const Surface& sf,
const Surface& sf,
PropDirection dir = anyDirection,
PropDirection dir = anyDirection,
@@ -303,39 +305,42 @@ namespace Trk {
@@ -303,39 +305,42 @@ namespace Trk {
- searches the closest TrackParameters of the Track to the destination Surface
- searches the closest TrackParameters of the Track to the destination Surface
- returns the TrackParameters at the Destination Surface (if extrapolation succeeds),
- returns the TrackParameters at the Destination Surface (if extrapolation succeeds),
0 if extrapolation to destination surface does not suceed */
0 if extrapolation to destination surface does not suceed */
virtual const TrackParameters* extrapolate(const Track& trk,
const TrackParameters* extrapolate(
const Surface& sf,
const Track& trk,
PropDirection dir = anyDirection,
const Surface& sf,
const BoundaryCheck& bcheck = true,
PropDirection dir = anyDirection,
ParticleHypothesis particle = pion,
const BoundaryCheck& bcheck = true,
MaterialUpdateMode matupmode = addNoise,
ParticleHypothesis particle = pion,
Trk::ExtrapolationCache* cache = nullptr) const;
MaterialUpdateMode matupmode = addNoise,
 
Trk::ExtrapolationCache* cache = nullptr) const;
/** 4) <b>Configured AlgTool extrapolation method</b>):
/** 4) <b>Configured AlgTool extrapolation method</b>):
- direct extrapolation to the destination surface, no material effects
- direct extrapolation to the destination surface, no material effects
or intermediate steps are taken into account
or intermediate steps are taken into account
*/
*/
virtual TrackParameters* extrapolateDirectly(const TrackParameters& parm,
TrackParameters* extrapolateDirectly(
const Surface& sf,
const TrackParameters& parm,
PropDirection dir = anyDirection,
const Surface& sf,
const BoundaryCheck& bcheck = true,
PropDirection dir = anyDirection,
ParticleHypothesis particle = pion) const;
const BoundaryCheck& bcheck = true,
 
ParticleHypothesis particle = pion) const;
/** 4.1) <b>Configured AlgTool extrapolation method</b>):
/** 4.1) <b>Configured AlgTool extrapolation method</b>):
Same as 4 but with propagator arguement (needed by a single client TRT_TrackExtensionToolCosmics
Same as 4 but with propagator arguement (needed by a single client TRT_TrackExtensionToolCosmics
*/
*/
virtual TrackParameters* extrapolateDirectly(const IPropagator& prop,
TrackParameters* extrapolateDirectly(
const TrackParameters& parm,
const IPropagator& prop,
const Surface& sf,
const TrackParameters& parm,
PropDirection dir = anyDirection,
const Surface& sf,
const BoundaryCheck& bcheck = true,
PropDirection dir = anyDirection,
ParticleHypothesis particle = pion) const;
const BoundaryCheck& bcheck = true,
 
ParticleHypothesis particle = pion) const;
/** 5) <b>Configured AlgTool extrapolation method</b>):
/** 5) <b>Configured AlgTool extrapolation method</b>):
- blind inside the given tracking Volume (boundaryVol),
- blind inside the given tracking Volume (boundaryVol),
if none is given the reference surface for destination is used
if none is given the reference surface for destination is used
*/
*/
virtual std::vector<std::unique_ptr<const TrackParameters>> extrapolateBlindly(
std::vector<std::unique_ptr<const TrackParameters>> extrapolateBlindly(
const TrackParameters& parm,
const TrackParameters& parm,
PropDirection dir = anyDirection,
PropDirection dir = anyDirection,
const BoundaryCheck& bcheck = true,
const BoundaryCheck& bcheck = true,
@@ -345,7 +350,8 @@ namespace Trk {
@@ -345,7 +350,8 @@ namespace Trk {
/** 6) <b>Configured AlgTool extrapolation method</b>):
/** 6) <b>Configured AlgTool extrapolation method</b>):
*- extrapolation to the next active layer, based on the extrapolation to the next layer
*- extrapolation to the next active layer, based on the extrapolation to the next layer
and layer identification*/
and layer identification*/
virtual std::pair<const TrackParameters*, const Trk::Layer*> extrapolateToNextActiveLayer(
std::pair<const TrackParameters*, const Trk::Layer*>
 
extrapolateToNextActiveLayer(
const TrackParameters& parm,
const TrackParameters& parm,
PropDirection dir = anyDirection,
PropDirection dir = anyDirection,
const BoundaryCheck& bcheck = true,
const BoundaryCheck& bcheck = true,
@@ -353,7 +359,8 @@ namespace Trk {
@@ -353,7 +359,8 @@ namespace Trk {
MaterialUpdateMode matupmode = addNoise) const;
MaterialUpdateMode matupmode = addNoise) const;
/** 7) <b>Configured AlgTool extrapolation method</b>):*/
/** 7) <b>Configured AlgTool extrapolation method</b>):*/
virtual std::pair<const TrackParameters*, const Trk::Layer*> extrapolateToNextActiveLayerM(
std::pair<const TrackParameters*, const Trk::Layer*>
 
extrapolateToNextActiveLayerM(
const TrackParameters& parm,
const TrackParameters& parm,
PropDirection dir,
PropDirection dir,
const BoundaryCheck& bcheck,
const BoundaryCheck& bcheck,
@@ -361,39 +368,42 @@ namespace Trk {
@@ -361,39 +368,42 @@ namespace Trk {
ParticleHypothesis particle = pion,
ParticleHypothesis particle = pion,
MaterialUpdateMode matupmode = addNoise) const;
MaterialUpdateMode matupmode = addNoise) const;
/** 8) <b>Configured AlgTool extrapolation method</b> ):
/** 8) <b>Configured AlgTool extrapolation method</b> ):
- extrapolation to the next active layer, based on the extrapolation to the next layer
- extrapolation to the next active layer, based on the extrapolation to
and layer identification
the next layer and layer identification
* */
* */
virtual const TrackParameters* extrapolateToVolume(const TrackParameters& parm,
const TrackParameters* extrapolateToVolume(
const Trk::TrackingVolume& vol,
const TrackParameters& parm,
PropDirection dir = anyDirection,
const Trk::TrackingVolume& vol,
ParticleHypothesis particle = pion) const;
PropDirection dir = anyDirection,
 
ParticleHypothesis particle = pion) const;
/** 9) <b>Configured AlgTool extrapolation method</b>:
/** 9) <b>Configured AlgTool extrapolation method</b>:
- Extrapolate to a destination surface, while collecting all the material layers in between.
- Extrapolate to a destination surface, while collecting all the material layers in between.
*/
*/
virtual std::vector<const TrackStateOnSurface*>* extrapolateM(const TrackParameters& parameters,
std::vector<const TrackStateOnSurface*>* extrapolateM(
const Surface& sf,
const TrackParameters& parameters,
PropDirection dir,
const Surface& sf,
const BoundaryCheck& bcheck,
PropDirection dir,
ParticleHypothesis particle = pion,
const BoundaryCheck& bcheck,
Trk::ExtrapolationCache* cache = nullptr) const;
ParticleHypothesis particle = pion,
 
Trk::ExtrapolationCache* cache = nullptr) const;
/** 10) <b>Configured AlgTool extrapolation method</b>:
/** 10) <b>Configured AlgTool extrapolation method</b>:
- Extrapolate to a destination surface, while collecting all the material layers and transport jacobians in
- Extrapolate to a destination surface, while collecting all the material layers and transport jacobians in
between.
between.
*/
*/
virtual std::vector<const TrackParameters*>* extrapolateM(const TrackParameters& parameters,
std::vector<const TrackParameters*>* extrapolateM(
const Surface& sf,
const TrackParameters& parameters,
PropDirection dir,
const Surface& sf,
const BoundaryCheck& bcheck,
PropDirection dir,
std::vector<MaterialEffectsOnTrack>& material,
const BoundaryCheck& bcheck,
std::vector<Trk::TransportJacobian*>& jacs,
std::vector<MaterialEffectsOnTrack>& material,
ParticleHypothesis particle = pion,
std::vector<Trk::TransportJacobian*>& jacs,
Trk::ExtrapolationCache* cache = nullptr) const;
ParticleHypothesis particle = pion,
 
Trk::ExtrapolationCache* cache = nullptr) const;
virtual const Trk::TrackParameters* extrapolateWithPathLimit(
const Trk::TrackParameters* extrapolateWithPathLimit(
const Trk::TrackParameters& parm,
const Trk::TrackParameters& parm,
double& pathLim,
double& pathLim,
Trk::PropDirection dir,
Trk::PropDirection dir,
@@ -407,22 +417,15 @@ namespace Trk {
@@ -407,22 +417,15 @@ namespace Trk {
A primitive identification is provided - to be replaced with appropriate identifier, and possibly merged
A primitive identification is provided - to be replaced with appropriate identifier, and possibly merged
with TrackParameters. Material collection in option. Destination (subdetector boundary) : geoID (exit)
with TrackParameters. Material collection in option. Destination (subdetector boundary) : geoID (exit)
*/
*/
virtual const std::vector<std::pair<const Trk::TrackParameters*, int>>* extrapolate(
const std::vector<std::pair<const Trk::TrackParameters*, int>>*
const Trk::TrackParameters& parm,
extrapolate(const Trk::TrackParameters& parm,
Trk::PropDirection dir,
Trk::PropDirection dir,
Trk::ParticleHypothesis particle,
Trk::ParticleHypothesis particle,
std::vector<const Trk::TrackStateOnSurface*>*& material,
std::vector<const Trk::TrackStateOnSurface*>*& material,
int destination = 3) const;
int destination = 3) const;
};
};
} // end of namespace
} // end of namespace
#include "TrkExInterfaces/IExtrapolator.icc"
#include "TrkExInterfaces/IExtrapolator.icc"
#endif // TRKEXINTERFACES_ITRKEXTRAPOLATOR_H
#endif // TRKEXINTERFACES_ITRKEXTRAPOLATOR_H
Loading