CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DualReferenceTrajectory.h
Go to the documentation of this file.
1 #ifndef Alignment_ReferenceTrajectories_DualReferenceTrajectory_H
2 #define Alignment_ReferenceTrajectories_DualReferenceTrajectory_H
3 
31 
33 namespace reco { class BeamSpot;}
34 
36 {
37 
38 public:
39 
41 
43  const ConstRecHitContainer& forwardRecHits,
44  const ConstRecHitContainer& backwardRecHits,
45  const MagneticField* magField,
46  const reco::BeamSpot& beamSpot,
48 
50 
51  virtual DualReferenceTrajectory* clone() const { return new DualReferenceTrajectory(*this); }
52 
53 protected:
54 
55  DualReferenceTrajectory(unsigned int nPar, unsigned int nHits,
57 
60  virtual bool construct(const TrajectoryStateOnSurface &referenceTsos,
61  const ConstRecHitContainer &forwardRecHits,
62  const ConstRecHitContainer &backwardRecHits,
63  const MagneticField *magField,
64  const reco::BeamSpot &beamSpot);
65 
66  virtual ReferenceTrajectory* construct(const TrajectoryStateOnSurface &referenceTsos,
68  const MagneticField *magField,
69  const reco::BeamSpot &beamSpot,
70  const bool revertDirection = false) const;
71 
72  virtual AlgebraicVector extractParameters(const TrajectoryStateOnSurface &referenceTsos) const;
73 
74  inline const PropagationDirection oppositeDirection( const PropagationDirection propDir ) const
75  { return ( propDir == anyDirection ) ? anyDirection : ( ( propDir == alongMomentum ) ? oppositeToMomentum : alongMomentum ); }
76 
77 private:
78  const double mass_;
81  const bool useBeamSpot_;
82 };
83 
84 #endif
const PropagationDirection propDir_
const TransientTrackingRecHit::ConstRecHitContainer & recHits() const
const PropagationDirection oppositeDirection(const PropagationDirection propDir) const
DualReferenceTrajectory(const TrajectoryStateOnSurface &tsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
PropagationDirection
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
virtual AlgebraicVector extractParameters(const TrajectoryStateOnSurface &referenceTsos) const
std::vector< ConstRecHitPointer > ConstRecHitContainer
CLHEP::HepVector AlgebraicVector
virtual DualReferenceTrajectory * clone() const
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
virtual bool construct(const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot)
const MaterialEffects materialEffects_