ATLAS Offline Software
Loading...
Searching...
No Matches
VKalExtPropagator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5// VKalVrtAtlas.h
6//
7#ifndef TRKVKALVRTFITTER_VKALEXTPROPAGATOR_H
8#define TRKVKALVRTFITTER_VKALEXTPROPAGATOR_H
9
10// External propagator
13
14namespace Trk {
15
18
19// External propagator access for TrkVKalVrtCore
20//-----------------------------------------------------
22 public:
25
26 //
27 // Propagator from RefStart point to RefEnd point in local coordinate
28 // system. Global coordinates are encapsulated inside function
29 //
30 virtual void Propagate(long int trkID, long int Charge, double *ParOld,
31 double *CovOld, double *RefStart, double *RefEnd,
32 double *ParNew, double *CovNew,
33 IVKalState &istate) const override;
34 virtual bool checkTarget(double *, const IVKalState &istate) const override;
35
36 void setPropagator(const IExtrapolator *);
37
38 const TrackParameters *myExtrapWithMatUpdate(long int TrkID,
39 const TrackParameters *inpPer,
40 Amg::Vector3D *endPoint,
41 const IVKalState &istate) const;
42 const TrackParameters *myExtrapToLine(long int TrkID,
43 const TrackParameters *inpPer,
44 Amg::Vector3D *endPoint,
45 StraightLineSurface &lineTarget,
46 const IVKalState &istate) const;
48 Amg::Vector3D *endPoint) const;
49
50 const Perigee *myxAODFstPntOnTrk(const xAOD::TrackParticle *xprt) const;
51
52 private:
55
56 double Protection(const double *, const IVKalState &istate) const;
57};
58
59} // namespace Trk
60
61#endif
Interface class for the extrapolation AlgTool, it inherits from IAlgTool Detailed information about p...
Class for a StraightLineSurface in the ATLAS detector to describe dirft tube and straw like detectors...
virtual void Propagate(long int trkID, long int Charge, double *ParOld, double *CovOld, double *RefStart, double *RefEnd, double *ParNew, double *CovNew, IVKalState &istate) const override
void setPropagator(const IExtrapolator *)
double Protection(const double *, const IVKalState &istate) const
const TrackParameters * myExtrapWithMatUpdate(long int TrkID, const TrackParameters *inpPer, Amg::Vector3D *endPoint, const IVKalState &istate) const
const Perigee * myxAODFstPntOnTrk(const xAOD::TrackParticle *xprt) const
virtual ~VKalExtPropagator()
virtual bool checkTarget(double *, const IVKalState &istate) const override
TrkVKalVrtFitter * m_vkalFitSvc
Pointer to TrkVKalVrtFitter.
VKalExtPropagator(TrkVKalVrtFitter *)
const IExtrapolator * m_extrapolator
Pointer to Extrapolator AlgTool.
const TrackParameters * myExtrapToLine(long int TrkID, const TrackParameters *inpPer, Amg::Vector3D *endPoint, StraightLineSurface &lineTarget, const IVKalState &istate) const
const NeutralParameters * myExtrapNeutral(const NeutralParameters *inpPer, Amg::Vector3D *endPoint) const
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
ParametersBase< NeutralParametersDim, Neutral > NeutralParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
TrackParticle_v1 TrackParticle
Reference the current persistent version: