CMS 3D CMS Logo

GsfPropagatorAdapter.cc
Go to the documentation of this file.
2 
5 
6 #include <atomic>
7 
9  : Propagator(aPropagator.propagationDirection()), thePropagator(aPropagator.clone()) {}
10 
11 std::pair<TrajectoryStateOnSurface, double> GsfPropagatorAdapter::propagateWithPath(
12  const TrajectoryStateOnSurface& tsos, const Plane& plane) const {
14  return multiPropagator.propagateWithPath(tsos, plane);
15 }
16 
17 std::pair<TrajectoryStateOnSurface, double> GsfPropagatorAdapter::propagateWithPath(
18  const TrajectoryStateOnSurface& tsos, const Cylinder& cylinder) const {
20  return multiPropagator.propagateWithPath(tsos, cylinder);
21 }
22 
23 std::pair<TrajectoryStateOnSurface, double> GsfPropagatorAdapter::propagateWithPath(const FreeTrajectoryState& fts,
24  const Plane& plane) const {
26  static std::atomic<int> nWarn{0};
27  if (nWarn++ < 5)
28  edm::LogInfo("GsfPropagatorAdapter") << "GsfPropagator used from FTS = single state mode!";
29  return thePropagator->propagateWithPath(fts, plane);
30 }
31 
32 std::pair<TrajectoryStateOnSurface, double> GsfPropagatorAdapter::propagateWithPath(const FreeTrajectoryState& fts,
33  const Cylinder& cylinder) const {
35  static std::atomic<int> nWarn{0};
36  if (nWarn++ < 5)
37  edm::LogInfo("GsfPropagatorAdapter") << "GsfPropagator used from FTS = single state mode!";
38  return thePropagator->propagateWithPath(fts, cylinder);
39 }
40 
44 }
GsfPropagatorAdapter::propagateWithPath
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &, const Plane &) const override
Definition: GsfPropagatorAdapter.cc:11
MessageLogger.h
GsfPropagatorAdapter.h
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
GsfPropagatorAdapter::GsfPropagatorAdapter
GsfPropagatorAdapter(const Propagator &Propagator)
Constructor with explicit propagator.
Definition: GsfPropagatorAdapter.cc:8
clone
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
MultiStatePropagation::propagateWithPath
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const T &surface) const
GsfPropagatorAdapter::thePropagator
DeepCopyPointerByClone< Propagator > thePropagator
Definition: GsfPropagatorAdapter.h:58
MultiStatePropagation.h
Propagator::setPropagationDirection
virtual void setPropagationDirection(PropagationDirection dir)
Definition: Propagator.h:130
MultiStatePropagation
Definition: MultiStatePropagation.h:15
GsfPropagatorAdapter::setPropagationDirection
void setPropagationDirection(PropagationDirection dir) override
Definition: GsfPropagatorAdapter.cc:41
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
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
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23