CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
VirtualKinematicParticleFactory.cc
Go to the documentation of this file.
2 
4 
6  if (pr != nullptr) {
7  propagator = pr->clone();
8  } else {
10  }
11 }
12 
14  const KinematicState& kineState,
15  float& chiSquared,
16  float& degreesOfFr,
18  KinematicConstraint* lastConstraint) const {
19  if (previousParticle.get() != nullptr) {
20  KinematicParticle* prp = &(*previousParticle);
21  VirtualKinematicParticle* pr = dynamic_cast<VirtualKinematicParticle*>(prp);
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.
virtual KinematicStatePropagator * clone() const =0
RefCountedKinematicParticle particle(const KinematicState &kineState, float &chiSquared, float &degreesOfFr, ReferenceCountingPointer< KinematicParticle > previousParticle, KinematicConstraint *lastConstraint=nullptr) const