CMS 3D CMS Logo

RefittedTrackState.h
Go to the documentation of this file.
1 #ifndef RefittedTrackState_H
2 #define RefittedTrackState_H
3 
9 #include <vector>
10 
18 class Surface;
19 class Propagator;
20 
21 template <unsigned int N>
23 
24 public:
25 
26 // typedef ROOT::Math::SMatrix<double,N,N,ROOT::Math::MatRepSym<double,N> > AlgebraicMatrixN3;
27  typedef ROOT::Math::SVector<double,N> AlgebraicVectorN;
28  typedef ROOT::Math::SVector<double,N-2> AlgebraicVectorM;
29 // typedef ROOT::Math::SMatrix<double,N,3,ROOT::Math::MatRepStd<double,N,3> > AlgebraicMatrixN3;
30 // typedef ROOT::Math::SMatrix<double,N-2,3,ROOT::Math::MatRepStd<double,N-2,3> > AlgebraicMatrixM3;
31  typedef ROOT::Math::SMatrix<double,N,N,ROOT::Math::MatRepSym<double,N> > AlgebraicSymMatrixNN;
32 
33  ~RefittedTrackState() override{}
34 
38  virtual FreeTrajectoryState freeTrajectoryState() const = 0;
39 
44  const Surface & surface) const = 0;
45 
51  const Surface & surface, const Propagator & propagator) const = 0;
52 
56  virtual AlgebraicVectorN parameters() const = 0;
57 
61  virtual AlgebraicSymMatrixNN covariance() const = 0;
62 
66  virtual GlobalPoint position() const = 0;
67 
72  virtual AlgebraicVectorM momentumVector() const = 0;
73 
78  virtual double weight() const = 0;
79 
86  (const double newWeight) const = 0;
87 
88  virtual std::vector< ReferenceCountingPointer<RefittedTrackState> > components() const = 0;
89 
90  virtual reco::TransientTrack transientTrack() const = 0;
91 
92 };
93 #endif
virtual AlgebraicVectorN parameters() const =0
virtual std::vector< ReferenceCountingPointer< RefittedTrackState > > components() const =0
virtual double weight() const =0
ROOT::Math::SVector< double, N-2 > AlgebraicVectorM
virtual TrajectoryStateOnSurface trajectoryStateOnSurface(const Surface &surface) const =0
ROOT::Math::SVector< double, N > AlgebraicVectorN
virtual GlobalPoint position() const =0
virtual reco::TransientTrack transientTrack() const =0
virtual AlgebraicSymMatrixNN covariance() const =0
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
virtual ReferenceCountingPointer< RefittedTrackState > stateWithNewWeight(const double newWeight) const =0
#define N
Definition: blowfish.cc:9
virtual AlgebraicVectorM momentumVector() const =0
virtual FreeTrajectoryState freeTrajectoryState() const =0
~RefittedTrackState() override