ATLAS Offline Software
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 
14 namespace Trk {
15 
16 class TrkVKalVrtFitter;
17 class StraightLineSurface;
18 
19 // External propagator access for TrkVKalVrtCore
20 //-----------------------------------------------------
22  public:
24  virtual ~VKalExtPropagator();
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
Propagator.h
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
Trk::VKalExtPropagator
Definition: VKalExtPropagator.h:21
Trk::VKalExtPropagator::VKalExtPropagator
VKalExtPropagator(TrkVKalVrtFitter *)
Definition: VKalExtPropagator.cxx:33
IExtrapolator.h
Trk::VKalExtPropagator::myExtrapWithMatUpdate
const TrackParameters * myExtrapWithMatUpdate(long int TrkID, const TrackParameters *inpPer, Amg::Vector3D *endPoint, const IVKalState &istate) const
Definition: VKalExtPropagator.cxx:198
Trk::VKalExtPropagator::myxAODFstPntOnTrk
const Perigee * myxAODFstPntOnTrk(const xAOD::TrackParticle *xprt) const
Definition: VKalExtPropagator.cxx:433
Trk::basePropagator
Definition: Propagator.h:33
Trk::VKalExtPropagator::m_vkalFitSvc
TrkVKalVrtFitter * m_vkalFitSvc
Pointer to TrkVKalVrtFitter.
Definition: VKalExtPropagator.h:54
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::VKalExtPropagator::Propagate
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
Definition: VKalExtPropagator.cxx:82
Trk::VKalExtPropagator::checkTarget
virtual bool checkTarget(double *, const IVKalState &istate) const override
Definition: VKalExtPropagator.cxx:65
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VKalExtPropagator::setPropagator
void setPropagator(const IExtrapolator *)
Definition: VKalExtPropagator.cxx:41
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::IExtrapolator
Definition: IExtrapolator.h:62
Trk::VKalExtPropagator::myExtrapNeutral
const NeutralParameters * myExtrapNeutral(const NeutralParameters *inpPer, Amg::Vector3D *endPoint) const
Definition: VKalExtPropagator.cxx:416
Trk::IVKalState
Definition: IVKalState.h:21
Trk::VKalExtPropagator::Protection
double Protection(const double *, const IVKalState &istate) const
Definition: VKalExtPropagator.cxx:48
Trk::VKalExtPropagator::~VKalExtPropagator
virtual ~VKalExtPropagator()
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
Trk::VKalExtPropagator::m_extrapolator
const IExtrapolator * m_extrapolator
Pointer to Extrapolator AlgTool.
Definition: VKalExtPropagator.h:53
Trk::VKalExtPropagator::myExtrapToLine
const TrackParameters * myExtrapToLine(long int TrkID, const TrackParameters *inpPer, Amg::Vector3D *endPoint, StraightLineSurface &lineTarget, const IVKalState &istate) const
Definition: VKalExtPropagator.cxx:351
Trk::StraightLineSurface
Definition: StraightLineSurface.h:51
Trk::TrkVKalVrtFitter
Definition: TrkVKalVrtFitter.h:67