CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
FlexibleKFFittingSmoother Class Reference

#include <FlexibleKFFittingSmoother.h>

Inheritance diagram for FlexibleKFFittingSmoother:
TrajectoryFitter

Public Member Functions

std::unique_ptr< TrajectoryFitterclone () const override
 
Trajectory fitOne (const Trajectory &t, fitType type) const
 
Trajectory fitOne (const TrajectorySeed &aSeed, const RecHitContainer &hits, const TrajectoryStateOnSurface &firstPredTsos, 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 More...
 
virtual void setHitCloner (TkCloner const *hc)
 
virtual ~FlexibleKFFittingSmoother ()
 
- Public Member Functions inherited from TrajectoryFitter
std::vector< Trajectoryfit (const Trajectory &traj, fitType type=standard) const
 
std::vector< Trajectoryfit (const TrajectorySeed &seed, const RecHitContainer &hits, fitType type=standard) const
 
std::vector< Trajectoryfit (const TrajectorySeed &seed, const RecHitContainer &hits, const TrajectoryStateOnSurface &tsos, fitType type=standard) const
 
virtual ~TrajectoryFitter ()
 

Private Member Functions

const TrajectoryFitterfitter (fitType type) const
 

Private Attributes

const std::unique_ptr
< TrajectoryFitter
theLooperFitter
 
const std::unique_ptr
< TrajectoryFitter
theStandardFitter
 

Additional Inherited Members

- Public Types inherited from TrajectoryFitter
enum  fitType { standard =0, looper =1 }
 
typedef Trajectory::RecHitContainer RecHitContainer
 
typedef TrajectoryFitterRecord Record
 

Detailed Description

Combine different FittingSmoother in a single module

Author
mangano

Definition at line 12 of file FlexibleKFFittingSmoother.h.

Constructor & Destructor Documentation

FlexibleKFFittingSmoother::FlexibleKFFittingSmoother ( const TrajectoryFitter standardFitter,
const TrajectoryFitter looperFitter 
)
inline

constructor with predefined fitter and smoother and propagator

Definition at line 16 of file FlexibleKFFittingSmoother.h.

Referenced by clone().

17  :
18  theStandardFitter(standardFitter.clone()),
19  theLooperFitter(looperFitter.clone()) {}
const std::unique_ptr< TrajectoryFitter > theLooperFitter
const std::unique_ptr< TrajectoryFitter > theStandardFitter
virtual std::unique_ptr< TrajectoryFitter > clone() const =0
virtual FlexibleKFFittingSmoother::~FlexibleKFFittingSmoother ( )
inlinevirtual

Definition at line 21 of file FlexibleKFFittingSmoother.h.

21 {};

Member Function Documentation

std::unique_ptr<TrajectoryFitter> FlexibleKFFittingSmoother::clone ( void  ) const
inlineoverridevirtual

Implements TrajectoryFitter.

Definition at line 35 of file FlexibleKFFittingSmoother.h.

References FlexibleKFFittingSmoother(), theLooperFitter, and theStandardFitter.

35  {
36  return std::unique_ptr<TrajectoryFitter>(
38  }
FlexibleKFFittingSmoother(const TrajectoryFitter &standardFitter, const TrajectoryFitter &looperFitter)
constructor with predefined fitter and smoother and propagator
const std::unique_ptr< TrajectoryFitter > theLooperFitter
const std::unique_ptr< TrajectoryFitter > theStandardFitter
Trajectory FlexibleKFFittingSmoother::fitOne ( const Trajectory t,
fitType  type 
) const
inlinevirtual

Implements TrajectoryFitter.

Definition at line 23 of file FlexibleKFFittingSmoother.h.

References TrajectoryFitter::fitOne(), and fitter().

23 { return fitter(type)->fitOne(t,type);}
type
Definition: HCALResponse.h:21
const TrajectoryFitter * fitter(fitType type) const
virtual Trajectory fitOne(const Trajectory &traj, fitType type=standard) const =0
Trajectory FlexibleKFFittingSmoother::fitOne ( const TrajectorySeed aSeed,
const RecHitContainer hits,
const TrajectoryStateOnSurface firstPredTsos,
fitType  type 
) const
inlinevirtual

Implements TrajectoryFitter.

Definition at line 26 of file FlexibleKFFittingSmoother.h.

References TrajectoryFitter::fitOne(), and fitter().

29  {return fitter(type)->fitOne(aSeed,hits,firstPredTsos,type); }
type
Definition: HCALResponse.h:21
const TrajectoryFitter * fitter(fitType type) const
virtual Trajectory fitOne(const Trajectory &traj, fitType type=standard) const =0
Trajectory FlexibleKFFittingSmoother::fitOne ( const TrajectorySeed aSeed,
const RecHitContainer hits,
fitType  type 
) const
inlinevirtual

Implements TrajectoryFitter.

Definition at line 31 of file FlexibleKFFittingSmoother.h.

References TrajectoryFitter::fitOne(), and fitter().

33  { return fitter(type)->fitOne(aSeed,hits,type); }
type
Definition: HCALResponse.h:21
const TrajectoryFitter * fitter(fitType type) const
virtual Trajectory fitOne(const Trajectory &traj, fitType type=standard) const =0
const TrajectoryFitter* FlexibleKFFittingSmoother::fitter ( fitType  type) const
inlineprivate

Definition at line 48 of file FlexibleKFFittingSmoother.h.

References theLooperFitter, and theStandardFitter.

Referenced by fitOne().

48  {
49  return (type==standard) ? theStandardFitter.get() : theLooperFitter.get();
50  }
type
Definition: HCALResponse.h:21
const std::unique_ptr< TrajectoryFitter > theLooperFitter
const std::unique_ptr< TrajectoryFitter > theStandardFitter
virtual void FlexibleKFFittingSmoother::setHitCloner ( TkCloner const *  hc)
inlinevirtual

Implements TrajectoryFitter.

Definition at line 41 of file FlexibleKFFittingSmoother.h.

References theLooperFitter, and theStandardFitter.

41  {
42  theStandardFitter->setHitCloner(hc);
43  theLooperFitter->setHitCloner(hc);
44  }
const std::unique_ptr< TrajectoryFitter > theLooperFitter
const std::unique_ptr< TrajectoryFitter > theStandardFitter
susybsm::HSCParticleCollection hc
Definition: classes.h:25

Member Data Documentation

const std::unique_ptr<TrajectoryFitter> FlexibleKFFittingSmoother::theLooperFitter
private

Definition at line 53 of file FlexibleKFFittingSmoother.h.

Referenced by clone(), fitter(), and setHitCloner().

const std::unique_ptr<TrajectoryFitter> FlexibleKFFittingSmoother::theStandardFitter
private

Definition at line 52 of file FlexibleKFFittingSmoother.h.

Referenced by clone(), fitter(), and setHitCloner().