CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FlexibleKFFittingSmoother.h
Go to the documentation of this file.
1 #ifndef CD_FlexibleKFFittingSmoother_H_
2 #define CD_FlexibleKFFittingSmoother_H_
3 
11 
13 
14 public:
17  const TrajectoryFitter& looperFitter) :
18  theStandardFitter(standardFitter.clone()),
19  theLooperFitter(looperFitter.clone()) {}
20 
22 
23  Trajectory fitOne(const Trajectory& t,fitType type) const{ return fitter(type)->fitOne(t,type);}
24 
25 
27  const RecHitContainer& hits,
28  const TrajectoryStateOnSurface& firstPredTsos,
29  fitType type) const {return fitter(type)->fitOne(aSeed,hits,firstPredTsos,type); }
30 
32  const RecHitContainer& hits,
33  fitType type) const { return fitter(type)->fitOne(aSeed,hits,type); }
34 
35  std::unique_ptr<TrajectoryFitter> clone() const override{
36  return std::unique_ptr<TrajectoryFitter>(
38  }
39 
40  // FIXME a prototype: final inplementaiton may differ
41  virtual void setHitCloner(TkCloner const * hc) {
42  theStandardFitter->setHitCloner(hc);
43  theLooperFitter->setHitCloner(hc);
44  }
45 
46  private:
47 
49  return (type==standard) ? theStandardFitter.get() : theLooperFitter.get();
50  }
51 
52  const std::unique_ptr<TrajectoryFitter> theStandardFitter;
53  const std::unique_ptr<TrajectoryFitter> theLooperFitter;
54 
55  };
56 
57 #endif //CD_FlexibleKFFittingSmoother_H_
std::unique_ptr< TrajectoryFitter > clone() const override
type
Definition: HCALResponse.h:21
#define GCC11_FINAL
Trajectory fitOne(const Trajectory &t, fitType type) const
Trajectory fitOne(const TrajectorySeed &aSeed, const RecHitContainer &hits, fitType type) const
FlexibleKFFittingSmoother(const TrajectoryFitter &standardFitter, const TrajectoryFitter &looperFitter)
constructor with predefined fitter and smoother and propagator
const std::unique_ptr< TrajectoryFitter > theLooperFitter
const TrajectoryFitter * fitter(fitType type) const
virtual void setHitCloner(TkCloner const *hc)
const std::unique_ptr< TrajectoryFitter > theStandardFitter
virtual Trajectory fitOne(const Trajectory &traj, fitType type=standard) const =0
Trajectory fitOne(const TrajectorySeed &aSeed, const RecHitContainer &hits, const TrajectoryStateOnSurface &firstPredTsos, fitType type) const
susybsm::HSCParticleCollection hc
Definition: classes.h:25
Trajectory::RecHitContainer RecHitContainer