CMS 3D CMS Logo

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

#include <VirtualKinematicParticleFactory.h>

Public Member Functions

RefCountedKinematicParticle particle (const KinematicState &kineState, float &chiSquared, float &degreesOfFr, ReferenceCountingPointer< KinematicParticle > previousParticle, KinematicConstraint *lastConstraint=0) const
 
 VirtualKinematicParticleFactory ()
 
 VirtualKinematicParticleFactory (KinematicStatePropagator *pr)
 
 ~VirtualKinematicParticleFactory ()
 

Private Attributes

const TransientTrackKinematicStateBuilder builder
 
KinematicStatePropagatorpropagator
 

Detailed Description

Definition at line 9 of file VirtualKinematicParticleFactory.h.

Constructor & Destructor Documentation

VirtualKinematicParticleFactory::VirtualKinematicParticleFactory ( )
VirtualKinematicParticleFactory::VirtualKinematicParticleFactory ( KinematicStatePropagator pr)

Factory constructor taking a KinematicStatePropagator

Definition at line 5 of file VirtualKinematicParticleFactory.cc.

References KinematicStatePropagator::clone(), and propagator.

5  {
6  if (pr != nullptr) {
7  propagator = pr->clone();
8  } else {
10  }
11 }
virtual KinematicStatePropagator * clone() const =0
VirtualKinematicParticleFactory::~VirtualKinematicParticleFactory ( )
inline

Default destructor

Definition at line 24 of file VirtualKinematicParticleFactory.h.

References particle(), and propagator.

24 { delete propagator; }

Member Function Documentation

RefCountedKinematicParticle VirtualKinematicParticleFactory::particle ( const KinematicState kineState,
float &  chiSquared,
float &  degreesOfFr,
ReferenceCountingPointer< KinematicParticle previousParticle,
KinematicConstraint lastConstraint = 0 
) const

Method building a particle out of new created kinematic state, chi2, number of degrees of freedom and history information

Definition at line 13 of file VirtualKinematicParticleFactory.cc.

References propagator.

Referenced by FinalTreeBuilder::buildTree(), ConstrainedTreeBuilder::buildTree(), ConstrainedTreeBuilderT::buildTree(), and ~VirtualKinematicParticleFactory().

18  {
19  if (previousParticle.get() != nullptr) {
20  KinematicParticle* prp = &(*previousParticle);
22  if (pr == nullptr) {
23  throw VertexException(
24  "KinematicParticleFactoryFromTransientTrack::Previous particle passed is not TransientTrack based!");
25  }
26  }
28  new VirtualKinematicParticle(kineState, chiSquared, degreesOfFr, lastConstraint, previousParticle, propagator));
29 }
Common base class.

Member Data Documentation

const TransientTrackKinematicStateBuilder VirtualKinematicParticleFactory::builder
private

Definition at line 38 of file VirtualKinematicParticleFactory.h.

KinematicStatePropagator* VirtualKinematicParticleFactory::propagator
private