CMS 3D CMS Logo

RefittedTrackState.h
Go to the documentation of this file.
1 #ifndef RefittedTrackState_H
2 #define RefittedTrackState_H
3 
8 #include <vector>
9 
17 class Surface;
18 class Propagator;
19 
20 template <unsigned int N>
22 
23 public:
24 
25 // typedef ROOT::Math::SMatrix<double,N,N,ROOT::Math::MatRepSym<double,N> > AlgebraicMatrixN3;
26  typedef ROOT::Math::SVector<double,N> AlgebraicVectorN;
27  typedef ROOT::Math::SVector<double,N-2> AlgebraicVectorM;
28 // typedef ROOT::Math::SMatrix<double,N,3,ROOT::Math::MatRepStd<double,N,3> > AlgebraicMatrixN3;
29 // typedef ROOT::Math::SMatrix<double,N-2,3,ROOT::Math::MatRepStd<double,N-2,3> > AlgebraicMatrixM3;
30  typedef ROOT::Math::SMatrix<double,N,N,ROOT::Math::MatRepSym<double,N> > AlgebraicSymMatrixNN;
31 
32  ~RefittedTrackState() override{}
33 
37  virtual FreeTrajectoryState freeTrajectoryState() const = 0;
38 
43  const Surface & surface) const = 0;
44 
50  const Surface & surface, const Propagator & propagator) const = 0;
51 
55  virtual AlgebraicVectorN parameters() const = 0;
56 
60  virtual AlgebraicSymMatrixNN covariance() const = 0;
61 
65  virtual GlobalPoint position() const = 0;
66 
71  virtual AlgebraicVectorM momentumVector() const = 0;
72 
77  virtual double weight() const = 0;
78 
85  (const double newWeight) const = 0;
86 
87  virtual std::vector< ReferenceCountingPointer<RefittedTrackState> > components() const = 0;
88 
89  virtual reco::TransientTrack transientTrack() const = 0;
90 
91 };
92 #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