CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
KFTrajectorySmoother.h
Go to the documentation of this file.
1 #ifndef CD_KFTrajectorySmoother_H_
2 #define CD_KFTrajectorySmoother_H_
3 
21 
23 
24 private:
25 
29 
30 public:
31 
32  KFTrajectorySmoother(const Propagator& aPropagator,
33  const TrajectoryStateUpdator& aUpdator,
34  const MeasurementEstimator& aEstimator,
35  float errorRescaling = 100.f,
36  int minHits = 3) :
37  thePropagator(aPropagator.clone()),
38  theUpdator(aUpdator.clone()),
39  theEstimator(aEstimator.clone()),
42  theGeometry(0){ // to be fixed. Why this first constructor is needed? who is using it? Can it be removed?
44  }
45 
46 
47  KFTrajectorySmoother(const Propagator* aPropagator,
48  const TrajectoryStateUpdator* aUpdator,
49  const MeasurementEstimator* aEstimator,
50  float errorRescaling = 100.f,
51  int minHits = 3,
52  const DetLayerGeometry* detLayerGeometry=0) :
53  thePropagator(aPropagator->clone()),
54  theUpdator(aUpdator->clone()),
55  theEstimator(aEstimator->clone()),
58  theGeometry(detLayerGeometry){
60  }
61 
62  virtual ~KFTrajectorySmoother();
63 
64  virtual std::vector<Trajectory> trajectories(const Trajectory& aTraj) const;
65 
66  const Propagator* propagator() const {return thePropagator;}
67  const TrajectoryStateUpdator* updator() const {return theUpdator;}
68  const MeasurementEstimator* estimator() const {return theEstimator;}
69 
70  virtual KFTrajectorySmoother* clone() const{
72  }
73 
74 private:
80  int minHits_;
82 };
83 
84 #endif //CD_KFTrajectorySmoother_H_
const Propagator * propagator() const
const DetLayerGeometry dummyGeometry
virtual KFTrajectorySmoother * clone() const
const DetLayerGeometry * theGeometry
TrajectoryStateOnSurface TSOS
virtual std::vector< Trajectory > trajectories(const Trajectory &aTraj) const
KFTrajectorySmoother(const Propagator &aPropagator, const TrajectoryStateUpdator &aUpdator, const MeasurementEstimator &aEstimator, float errorRescaling=100.f, int minHits=3)
const MeasurementEstimator * estimator() const
double f[11][100]
const MeasurementEstimator * theEstimator
const TrajectoryStateUpdator * theUpdator
TrajectoryMeasurement TM
KFTrajectorySmoother(const Propagator *aPropagator, const TrajectoryStateUpdator *aUpdator, const MeasurementEstimator *aEstimator, float errorRescaling=100.f, int minHits=3, const DetLayerGeometry *detLayerGeometry=0)
FreeTrajectoryState FTS
const TrajectoryStateUpdator * updator() const