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 public:
23  // typedef ROOT::Math::SMatrix<double,N,N,ROOT::Math::MatRepSym<double,N> > AlgebraicMatrixN3;
24  typedef ROOT::Math::SVector<double, N> AlgebraicVectorN;
25  typedef ROOT::Math::SVector<double, N - 2> AlgebraicVectorM;
26  // typedef ROOT::Math::SMatrix<double,N,3,ROOT::Math::MatRepStd<double,N,3> > AlgebraicMatrixN3;
27  // typedef ROOT::Math::SMatrix<double,N-2,3,ROOT::Math::MatRepStd<double,N-2,3> > AlgebraicMatrixM3;
28  typedef ROOT::Math::SMatrix<double, N, N, ROOT::Math::MatRepSym<double, N> > AlgebraicSymMatrixNN;
29 
30  ~RefittedTrackState() override {}
31 
35  virtual FreeTrajectoryState freeTrajectoryState() const = 0;
36 
40  virtual TrajectoryStateOnSurface trajectoryStateOnSurface(const Surface& surface) const = 0;
41 
47  const Propagator& propagator) const = 0;
48 
52  virtual AlgebraicVectorN parameters() const = 0;
53 
57  virtual AlgebraicSymMatrixNN covariance() const = 0;
58 
62  virtual GlobalPoint position() const = 0;
63 
68  virtual AlgebraicVectorM momentumVector() const = 0;
69 
74  virtual double weight() const = 0;
75 
81  virtual ReferenceCountingPointer<RefittedTrackState> stateWithNewWeight(const double newWeight) const = 0;
82 
83  virtual std::vector<ReferenceCountingPointer<RefittedTrackState> > components() const = 0;
84 
85  virtual reco::TransientTrack transientTrack() const = 0;
86 };
87 #endif
virtual double weight() const =0
virtual ReferenceCountingPointer< RefittedTrackState > stateWithNewWeight(const double newWeight) const =0
virtual GlobalPoint position() const =0
ROOT::Math::SVector< double, N - 2 > AlgebraicVectorM
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
virtual AlgebraicVectorM momentumVector() const =0
virtual std::vector< ReferenceCountingPointer< RefittedTrackState > > components() const =0
virtual reco::TransientTrack transientTrack() const =0
virtual TrajectoryStateOnSurface trajectoryStateOnSurface(const Surface &surface) const =0
virtual AlgebraicSymMatrixNN covariance() const =0
#define N
Definition: blowfish.cc:9
virtual FreeTrajectoryState freeTrajectoryState() const =0
virtual AlgebraicVectorN parameters() const =0
ROOT::Math::SVector< double, N > AlgebraicVectorN
~RefittedTrackState() override