CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/Alignment/ReferenceTrajectories/interface/DualBzeroReferenceTrajectory.h

Go to the documentation of this file.
00001 #ifndef Alignment_ReferenceTrajectories_DualBzeroReferenceTrajectory_H
00002 #define Alignment_ReferenceTrajectories_DualBzeroReferenceTrajectory_H
00003 
00033 #include "Alignment/ReferenceTrajectories/interface/DualReferenceTrajectory.h"
00034 
00035 class BzeroReferenceTrajectory;
00036 
00037 
00038 class DualBzeroReferenceTrajectory : public DualReferenceTrajectory
00039 {
00040 
00041 public:
00042 
00043   typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer;
00044 
00045   DualBzeroReferenceTrajectory( const TrajectoryStateOnSurface &referenceTsos,
00046                                 const ConstRecHitContainer &forwardRecHits,
00047                                 const ConstRecHitContainer &backwardRecHits,
00048                                 const MagneticField *magField,
00049                                 MaterialEffects materialEffects,
00050                                 PropagationDirection propDir,
00051                                 double mass,
00052                                 double momentumEstimate,
00053                                 bool useBeamSpot,
00054                                 const reco::BeamSpot &beamSpot);
00055 
00056   virtual ~DualBzeroReferenceTrajectory() {}
00057 
00058   virtual DualBzeroReferenceTrajectory* clone() const { return new DualBzeroReferenceTrajectory(*this); }
00059 
00060 protected:
00061 
00062   virtual ReferenceTrajectory* construct(const TrajectoryStateOnSurface &referenceTsos, 
00063                                          const ConstRecHitContainer &recHits,
00064                                          double mass, MaterialEffects materialEffects,
00065                                          const PropagationDirection propDir,
00066                                          const MagneticField *magField,
00067                                          bool useBeamSpot,
00068                                          const reco::BeamSpot &beamSpot) const;
00069 
00070   virtual AlgebraicVector extractParameters(const TrajectoryStateOnSurface &referenceTsos) const;
00071 
00072   double theMomentumEstimate;
00073 
00074 };
00075 
00076 #endif