1 #ifndef CD_FlexibleKFFittingSmoother_H_
2 #define CD_FlexibleKFFittingSmoother_H_
18 theStandardFitter(standardFitter.
clone()),
19 theLooperFitter(looperFitter.
clone()) {}
29 fitType type)
const {
return fitter(type)->fitOne(aSeed,hits,firstPredTsos,type); }
33 fitType type)
const {
return fitter(type)->fitOne(aSeed,hits,type); }
35 std::unique_ptr<TrajectoryFitter>
clone()
const override{
36 return std::unique_ptr<TrajectoryFitter>(
42 theStandardFitter->setHitCloner(hc);
43 theLooperFitter->setHitCloner(hc);
49 return (type==
standard) ? theStandardFitter.get() : theLooperFitter.get();
57 #endif //CD_FlexibleKFFittingSmoother_H_
Trajectory fitOne(const TrajectorySeed &aSeed, const RecHitContainer &hits, const TrajectoryStateOnSurface &firstPredTsos, fitType type) const
std::vector< ConstRecHitPointer > RecHitContainer
const TrajectoryFitter * fitter(fitType type) const
virtual void setHitCloner(TkCloner const *hc)
Trajectory fitOne(const Trajectory &t, fitType type) const
tuple FlexibleKFFittingSmoother
std::unique_ptr< TrajectoryFitter > clone() const override
virtual ~FlexibleKFFittingSmoother()
const std::unique_ptr< TrajectoryFitter > theLooperFitter
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
const std::unique_ptr< TrajectoryFitter > theStandardFitter
FlexibleKFFittingSmoother(const TrajectoryFitter &standardFitter, const TrajectoryFitter &looperFitter)
constructor with predefined fitter and smoother and propagator
Trajectory fitOne(const TrajectorySeed &aSeed, const RecHitContainer &hits, fitType type) const
Unlimited (trivial) bounds.