1 #ifndef CD_KFTrajectorySmoother_H_
2 #define CD_KFTrajectorySmoother_H_
33 float errorRescaling = 100.
f,
37 theUpdator(aUpdator.
clone()),
38 theEstimator(aEstimator.
clone()),
39 theErrorRescaling(errorRescaling),
42 if(!theGeometry) theGeometry = &dummyGeometry;
43 auto p = aPropagator.
clone();
45 theAlongPropagator =
p;
48 theOppositePropagator =
p;
55 float errorRescaling = 100.
f,
61 theUpdator(aUpdator->
clone()),
62 theEstimator(aEstimator->
clone()),
64 theErrorRescaling(errorRescaling),
66 theGeometry(detLayerGeometry){
67 if(!theGeometry) theGeometry = &dummyGeometry;
68 auto p = aPropagator->
clone();
70 theAlongPropagator =
p;
73 theOppositePropagator =
p;
87 return new KFTrajectorySmoother(theAlongPropagator,theUpdator,theEstimator,theErrorRescaling,minHits_,theGeometry,theHitCloner);
100 TkCloner const * theHitCloner=
nullptr;
101 float theErrorRescaling;
106 #endif //CD_KFTrajectorySmoother_H_
const TrajectoryStateUpdator * updator() const
virtual Propagator * clone() const =0
KFTrajectorySmoother(const Propagator *aPropagator, const TrajectoryStateUpdator *aUpdator, const MeasurementEstimator *aEstimator, float errorRescaling=100.f, int minHits=3, const DetLayerGeometry *detLayerGeometry=nullptr, TkCloner const *hc=nullptr)
KFTrajectorySmoother(const Propagator &aPropagator, const TrajectoryStateUpdator &aUpdator, const MeasurementEstimator &aEstimator, float errorRescaling=100.f, int minHits=3)
const Propagator * alongPropagator() const
virtual void setHitCloner(TkCloner const *hc)
virtual KFTrajectorySmoother * clone() const override
const Propagator * theAlongPropagator
TrajectoryStateOnSurface TSOS
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
const MeasurementEstimator * estimator() const
const Propagator * oppositePropagator() const
tuple KFTrajectorySmoother
const Propagator * theOppositePropagator
Unlimited (trivial) bounds.