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 
13 
15  const ConstRecHitContainer& forwardRecHits,
16  const ConstRecHitContainer& backwardRecHits,
17  const MagneticField* magField,
18  const reco::BeamSpot& beamSpot,
20  DualReferenceTrajectory(tsos.localParameters().mixedFormatVector().kSize - 1,
21  numberOfUsedRecHits(forwardRecHits) + numberOfUsedRecHits(backwardRecHits) - 1,
22  config),
23  theMomentumEstimate(config.momentumEstimate)
24 {
25  theValidityFlag = construct(tsos, forwardRecHits, backwardRecHits, magField, beamSpot);
26 }
27 
28 
32  double mass, MaterialEffects materialEffects,
33  const PropagationDirection propDir,
34  const MagneticField *magField,
35  bool useBeamSpot,
36  const reco::BeamSpot &beamSpot) const
37 {
38  if (materialEffects >= breakPoints) throw cms::Exception("BadConfig")
39  << "[DualBzeroReferenceTrajectory::construct] Wrong MaterialEffects: " << materialEffects;
40 
41  ReferenceTrajectoryBase::Config config(materialEffects, propDir, mass, theMomentumEstimate);
42  config.useBeamSpot = useBeamSpot;
43  config.hitsAreReverse = false;
44  return new BzeroReferenceTrajectory(referenceTsos, recHits, magField, beamSpot, config);
45 }
46 
47 
50 {
51  AlgebraicVector param = asHepVector<5>( referenceTsos.localParameters().mixedFormatVector() );
52  return param.sub( 2, 5 );
53 }
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
CLHEP::HepVector AlgebraicVector
DualBzeroReferenceTrajectory(const TrajectoryStateOnSurface &tsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
AlgebraicVector5 mixedFormatVector() const
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer