CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoVertex/KinematicFitPrimitives/interface/VirtualKinematicParticleFactory.h

Go to the documentation of this file.
00001 #ifndef VirtualKinematicParticleFactory_H
00002 #define VirtualKinematicParticleFactory_H
00003 
00004 #include "RecoVertex/KinematicFitPrimitives/interface/TrackKinematicStatePropagator.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/TransientTrackKinematicStateBuilder.h"
00006 #include "RecoVertex/KinematicFitPrimitives/interface/VirtualKinematicParticle.h"
00007 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h"
00008 
00009 class VirtualKinematicParticleFactory
00010 {
00011 public:
00012 
00016   VirtualKinematicParticleFactory();   
00017  
00021   VirtualKinematicParticleFactory(KinematicStatePropagator * pr);                                                        
00022   
00026   ~VirtualKinematicParticleFactory()
00027   {delete propagator;}
00028 
00033   RefCountedKinematicParticle particle(const KinematicState& kineState, float& chiSquared,
00034                  float& degreesOfFr, ReferenceCountingPointer<KinematicParticle> previousParticle,
00035                                            KinematicConstraint * lastConstraint = 0)const;
00036 private:
00037   
00038  KinematicStatePropagator * propagator;
00039  const TransientTrackKinematicStateBuilder builder;
00040 
00041 };
00042 #endif