CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DualBzeroReferenceTrajectory.cc
Go to the documentation of this file.
1 
2 
4 
6 
9 
11 
12 
14  const ConstRecHitContainer &forwardRecHits,
15  const ConstRecHitContainer &backwardRecHits,
16  const MagneticField *magField,
17  MaterialEffects materialEffects,
18  PropagationDirection propDir,
19  double mass,
20  double momentumEstimate,
21  bool useBeamSpot,
22  const reco::BeamSpot &beamSpot)
23  : DualReferenceTrajectory(referenceTsos.localParameters().mixedFormatVector().kSize - 1,
24  numberOfUsedRecHits(forwardRecHits) + numberOfUsedRecHits(backwardRecHits) - 1),
25  theMomentumEstimate(momentumEstimate)
26 {
28  forwardRecHits,
29  backwardRecHits,
30  mass, materialEffects,
31  propDir, magField,
32  useBeamSpot, beamSpot);
33 }
34 
35 
38  const ConstRecHitContainer &recHits,
39  double mass, MaterialEffects materialEffects,
40  const PropagationDirection propDir,
41  const MagneticField *magField,
42  bool useBeamSpot,
43  const reco::BeamSpot &beamSpot) const
44 {
45  if (materialEffects >= breakPoints) throw cms::Exception("BadConfig")
46  << "[DualBzeroReferenceTrajectory::construct] Wrong MaterialEffects: " << materialEffects;
47 
48  return new BzeroReferenceTrajectory(referenceTsos, recHits,
49  false, magField,
50  materialEffects, propDir,
51  mass, theMomentumEstimate, useBeamSpot, beamSpot);
52 }
53 
54 
57 {
58  AlgebraicVector param = asHepVector<5>( referenceTsos.localParameters().mixedFormatVector() );
59  return param.sub( 2, 5 );
60 }
const LocalTrajectoryParameters & localParameters() const
virtual AlgebraicVector extractParameters(const TrajectoryStateOnSurface &referenceTsos) const
PropagationDirection
virtual ReferenceTrajectory * construct(const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &recHits, double mass, MaterialEffects materialEffects, const PropagationDirection propDir, const MagneticField *magField, bool useBeamSpot, const reco::BeamSpot &beamSpot) const
DualBzeroReferenceTrajectory(const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, MaterialEffects materialEffects, PropagationDirection propDir, double mass, double momentumEstimate, bool useBeamSpot, const reco::BeamSpot &beamSpot)
CLHEP::HepVector AlgebraicVector
AlgebraicVector5 mixedFormatVector() const
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
virtual bool construct(const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, double mass, MaterialEffects materialEffects, const PropagationDirection propDir, const MagneticField *magField, bool useBeamSpot, const reco::BeamSpot &beamSpot)