CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
MultiTrajectoryStateMerger Class Reference

#include <MultiTrajectoryStateMerger.h>

Public Member Functions

MultiTrajectoryStateMergerclone () const
 
TrajectoryStateOnSurface merge (const TrajectoryStateOnSurface &tsos) const
 
 MultiTrajectoryStateMerger (const MultiGaussianStateMerger< 5 > &merger)
 

Private Attributes

const std::shared_ptr< const MultiGaussianStateMerger< 5 > > theMultiStateMerger
 

Detailed Description

Merging of MultiTrajectoryStates - uses MultiGaussianStateMergers for the actual merging.

Definition at line 15 of file MultiTrajectoryStateMerger.h.

Constructor & Destructor Documentation

MultiTrajectoryStateMerger::MultiTrajectoryStateMerger ( const MultiGaussianStateMerger< 5 > &  merger)
inline

Definition at line 17 of file MultiTrajectoryStateMerger.h.

References merge().

Referenced by clone().

17  :
18  theMultiStateMerger(merger.clone()) {}
const std::shared_ptr< const MultiGaussianStateMerger< 5 > > theMultiStateMerger
virtual MultiGaussianStateMerger * clone() const =0

Member Function Documentation

MultiTrajectoryStateMerger* MultiTrajectoryStateMerger::clone ( void  ) const
inline

Definition at line 20 of file MultiTrajectoryStateMerger.h.

References MultiTrajectoryStateMerger().

20  {
21  return new MultiTrajectoryStateMerger(*this);
22  }
MultiTrajectoryStateMerger(const MultiGaussianStateMerger< 5 > &merger)
TrajectoryStateOnSurface MultiTrajectoryStateMerger::merge ( const TrajectoryStateOnSurface tsos) const

Definition at line 5 of file MultiTrajectoryStateMerger.cc.

References gather_cfg::cout, TrajectoryStateOnSurface::isValid(), GaussianStateConversions::multiGaussianStateFromTSOS(), MultiGaussianStateTransform::multiState(), theMultiStateMerger, and GaussianStateConversions::tsosFromMultiGaussianState().

Referenced by GsfTrajectoryFitter::fitOne(), MultiTrajectoryStateMerger(), and GsfTrajectorySmoother::trajectory().

6 {
7  if ( !tsos.isValid() ) std::cout << "Merger called with invalid state" << std::endl;
11 }
const std::shared_ptr< const MultiGaussianStateMerger< 5 > > theMultiStateMerger
Mixture of multi-variate gaussian states.
TrajectoryStateOnSurface tsosFromMultiGaussianState(const MultiGaussianState< 5 > &multiState, const TrajectoryStateOnSurface &refTsos)
MultiGaussianState< N > multiState(const std::vector< MultiGaussianState< N >::Vector > &, const std::vector< MultiGaussianState< N >::Matrix > &, const std::vector< double > &)
MultiGaussianState< 5 > multiGaussianStateFromTSOS(const TrajectoryStateOnSurface &tsos)

Member Data Documentation

const std::shared_ptr< const MultiGaussianStateMerger<5> > MultiTrajectoryStateMerger::theMultiStateMerger
private

Definition at line 25 of file MultiTrajectoryStateMerger.h.

Referenced by merge().