CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GsfPropagatorAdapter.h
Go to the documentation of this file.
1 #ifndef GsfPropagatorAdapter_h_
2 #define GsfPropagatorAdapter_h_
3 
7 
8 class MagneticField;
9 
15 
16 public:
19 
21 
25  const Surface& surface) const
26  {
27  return Propagator::propagate(tsos,surface);
28  }
33  const Plane& plane) const
34  {
35  return propagateWithPath(tsos,plane).first;
36  }
41  const Cylinder& cylinder) const
42  {
43  return propagateWithPath(tsos,cylinder).first;
44  }
45 
49  virtual std::pair<TrajectoryStateOnSurface,double>
51  const Surface& surface) const
52  {
53  return Propagator::propagateWithPath(tsos,surface);
54  }
57  virtual std::pair<TrajectoryStateOnSurface,double>
59  const Plane&) const;
62  virtual std::pair<TrajectoryStateOnSurface,double>
64  const Cylinder&) const;
65 
70  const Surface& surface) const
71  {
72  return Propagator::propagate(fts,surface);
73  }
79  const Plane& plane) const
80  {
81  return propagateWithPath(fts,plane).first;
82  }
88  const Cylinder& cylinder) const
89  {
90  return propagateWithPath(fts,cylinder).first;
91  }
92 
97  virtual std::pair<TrajectoryStateOnSurface,double> propagateWithPath (const FreeTrajectoryState& fts,
98  const Surface& surface) const
99  {
100  return Propagator::propagateWithPath(fts,surface);
101  }
105  virtual std::pair<TrajectoryStateOnSurface,double> propagateWithPath (const FreeTrajectoryState&,
106  const Plane&) const;
110  virtual std::pair<TrajectoryStateOnSurface,double> propagateWithPath (const FreeTrajectoryState&,
111  const Cylinder&) const;
112 
113  virtual bool setMaxDirectionChange( float phiMax) {
114  return thePropagator->setMaxDirectionChange(phiMax);
115  }
116 
117  virtual void setPropagationDirection (PropagationDirection dir) const;
118 
120  inline const Propagator& propagator () const
121  {
122  return *thePropagator;
123  }
124 
125  virtual GsfPropagatorAdapter* clone() const
126  {
127  return new GsfPropagatorAdapter(*thePropagator);
128  }
129 
130  virtual const MagneticField* magneticField() const {
131  return thePropagator->magneticField();
132  }
133 
134 private:
135  // Single state propagator
137 };
138 
139 #endif
virtual GsfPropagatorAdapter * clone() const
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Plane &plane) const
GsfPropagatorAdapter(const Propagator &Propagator)
Constructor with explicit propagator.
const Propagator & propagator() const
access to single state propagator
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Surface &surface) const
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Surface &surface) const
PropagationDirection
virtual bool setMaxDirectionChange(float phiMax)
Definition: Propagator.h:157
Definition: Plane.h:17
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:74
virtual TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Plane &plane) const
virtual void setPropagationDirection(PropagationDirection dir) const
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:9
DeepCopyPointerByClone< Propagator > thePropagator
virtual bool setMaxDirectionChange(float phiMax)
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Cylinder &cylinder) const
virtual const MagneticField * magneticField() const =0
virtual TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Surface &surface) const
dbl *** dir
Definition: mlp_gen.cc:35
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &fts, const Surface &surface) const
virtual TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Cylinder &cylinder) const
virtual const MagneticField * magneticField() const