CMS 3D CMS Logo

Propagator.cc
Go to the documentation of this file.
7 
9 
10 std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath(const FreeTrajectoryState& state,
11  const Surface& sur) const {
12  // try plane first, most probable case (disk "is a" plane too)
13  const Plane* bp = dynamic_cast<const Plane*>(&sur);
14  if (bp != nullptr)
15  return propagateWithPath(state, *bp);
16 
17  // if not plane try cylinder
18  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
19  if (bc != nullptr)
20  return propagateWithPath(state, *bc);
21 
22  // unknown surface - can't do it!
23  throw PropagationException("The surface is neither Cylinder nor Plane");
24 }
25 
26 std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath(const TrajectoryStateOnSurface& state,
27  const Surface& sur) const {
28  // try plane first, most probable case (disk "is a" plane too)
29  const Plane* bp = dynamic_cast<const Plane*>(&sur);
30  if (bp != nullptr)
31  return propagateWithPath(state, *bp);
32 
33  // if not plane try cylinder
34  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
35  if (bc != nullptr)
36  return propagateWithPath(state, *bc);
37 
38  // unknown surface - can't do it!
39  throw PropagationException("The surface is neither Cylinder nor Plane");
40 }
41 
42 std::pair<FreeTrajectoryState, double> Propagator::propagateWithPath(const FreeTrajectoryState&,
43  const GlobalPoint&) const {
44  throw cms::Exception("Propagator::propagate(FTS,GlobalPoint) not implemented");
45  return std::pair<FreeTrajectoryState, double>();
46 }
47 std::pair<FreeTrajectoryState, double> Propagator::propagateWithPath(const FreeTrajectoryState&,
48  const GlobalPoint&,
49  const GlobalPoint&) const {
50  throw cms::Exception("Propagator::propagate(FTS,GlobalPoint,GlobalPoint) not implemented");
51  return std::pair<FreeTrajectoryState, double>();
52 }
53 std::pair<FreeTrajectoryState, double> Propagator::propagateWithPath(const FreeTrajectoryState& ftsStart,
54  const reco::BeamSpot& beamSpot) const {
55  throw cms::Exception("Propagator::propagate(FTS,beamSpot) not implemented");
56  return std::pair<FreeTrajectoryState, double>();
57 }
Propagator.h
TrajectoryStateOnSurface.h
FreeTrajectoryState.h
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
Cylinder.h
PropagationException
Common base class.
Definition: PropagationExceptions.h:14
Surface
Definition: Surface.h:36
Plane.h
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
reco::BeamSpot
Definition: BeamSpot.h:21
Point3DBase< float, GlobalTag >
Propagator::~Propagator
virtual ~Propagator()
Definition: Propagator.cc:8
RunInfoPI::state
state
Definition: RunInfoPayloadInspectoHelper.h:16
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
Exception
Definition: hltDiff.cc:245
Plane
Definition: Plane.h:16
Propagator::propagateWithPath
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
Definition: Propagator.cc:10
Cylinder
Definition: Cylinder.h:19
PropagationExceptions.h