CMS 3D CMS Logo

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