CMS 3D CMS Logo

TwoBodyDecayTrajectory.h

Go to the documentation of this file.
00001 #ifndef Alignment_ReferenceTrajectories_TwoBodyDecayTrajectory_h
00002 #define Alignment_ReferenceTrajectories_TwoBodyDecayTrajectory_h
00003 
00004 #include "Alignment/ReferenceTrajectories/interface/ReferenceTrajectory.h"
00005 #include "Alignment/ReferenceTrajectories/interface/TwoBodyDecayTrajectoryState.h"
00006 
00007 
00008 class TwoBodyDecayTrajectory : public ReferenceTrajectoryBase
00009 {
00010 
00011 public:
00012 
00013   typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer;
00014   typedef std::pair< ConstRecHitContainer, ConstRecHitContainer > ConstRecHitCollection;
00015 
00016   TwoBodyDecayTrajectory( const TwoBodyDecayTrajectoryState & trajectoryState,
00017                           const ConstRecHitCollection & recHits,
00018                           const MagneticField* magField,
00019                           MaterialEffects materialEffects = combined,
00020                           PropagationDirection propDir = alongMomentum,
00021                           bool hitsAreReverse = false,
00022                           bool useRefittedState = true,
00023                           bool constructTsosWithErrors = false );
00024 
00025   TwoBodyDecayTrajectory( void );
00026 
00027   ~TwoBodyDecayTrajectory( void ) {}
00028 
00029   virtual TwoBodyDecayTrajectory* clone( void ) const
00030     { return new TwoBodyDecayTrajectory( *this ); }
00031 
00034   inline const std::pair< int, int > numberOfRecHits( void ) { return theNumberOfRecHits; }
00035 
00036 private:
00037 
00038   bool construct( const TwoBodyDecayTrajectoryState & state,
00039                   const ConstRecHitCollection & recHits,
00040                   const MagneticField* field,
00041                   MaterialEffects materialEffects,
00042                   PropagationDirection propDir,
00043                   bool useRefittedState,
00044                   bool constructTsosWithErrors );
00045 
00046   void constructTsosVecWithErrors( const ReferenceTrajectory& traj1,
00047                                    const ReferenceTrajectory& traj2,
00048                                    const MagneticField* field );
00049 
00050   void constructSingleTsosWithErrors( const TrajectoryStateOnSurface & tsos,
00051                                       int iTsos,
00052                                       const MagneticField* field );
00053 
00054   std::pair< int, int > theNumberOfRecHits;
00055 
00056 };
00057 
00058 #endif

Generated on Tue Jun 9 17:24:58 2009 for CMSSW by  doxygen 1.5.4