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>(
37  new FlexibleKFFittingSmoother(*theStandardFitter,*theLooperFitter));
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_
type
Definition: HCALResponse.h:21
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
std::unique_ptr< TrajectoryFitter > clone() const override
virtual ~FlexibleKFFittingSmoother()
const std::unique_ptr< TrajectoryFitter > theLooperFitter
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
const std::unique_ptr< TrajectoryFitter > theStandardFitter
susybsm::HSCParticleCollection hc
Definition: classes.h:25
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.