CMS 3D CMS Logo

RKPropagatorInS.h
Go to the documentation of this file.
1 #ifndef RKPropagatorInS_H
2 #define RKPropagatorInS_H
3 
12 
15 class MagVolume;
18 
19 class RKPropagatorInS final : public Propagator {
20 public:
21  // RKPropagatorInS( PropagationDirection dir = alongMomentum) : Propagator(dir), theVolume(0) {}
22  // tolerance (see below) used to be 1.e-5 --> this was observed to cause problems with convergence
23  // when propagating to cylinder with large radius (~10 meter) MM 22/6/07
24 
27 
28  ~RKPropagatorInS() override {}
29 
32 
33 private:
34  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const FreeTrajectoryState&,
35  const Plane&) const override;
36 
37  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const FreeTrajectoryState&,
38  const Cylinder&) const override;
39 
40 public:
41  Propagator* clone() const override;
42 
43  const MagneticField* magneticField() const override { return theVolume; }
44 
45 private:
46  typedef std::pair<TrajectoryStateOnSurface, double> TsosWP;
47 
49  double theTolerance;
50 
52  const Basic3DVector<float>& lmom,
53  TrackCharge ch,
54  const Surface& surf) const dso_internal;
55 
58 
61 
63 
68 
70  const Plane& plane) const dso_internal;
72  const Cylinder& cyl) const dso_internal;
73 };
74 
75 #endif
Vector3DBase
Definition: Vector3DBase.h:8
MagVolume.h
Propagator.h
RKPropagatorInS::rkMomentum
Basic3DVector< double > rkMomentum(const GlobalVector &mom) const
Definition: RKPropagatorInS.cc:340
RKPropagatorInS
Definition: RKPropagatorInS.h:19
TrajectoryStateOnSurface.h
Visibility.h
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
RKPropagatorInS::globalMomentum
GlobalVector globalMomentum(const Basic3DVector< float > &mom) const
Definition: RKPropagatorInS.cc:354
RKPropagatorInS::propagateWithPath
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Plane &) const override
Definition: RKPropagatorInS.cc:25
RKPropagatorInS::propagateParametersOnPlane
GlobalParametersWithPath propagateParametersOnPlane(const FreeTrajectoryState &ts, const Plane &plane) const
Definition: RKPropagatorInS.cc:51
pos
Definition: PixelAliasList.h:18
RKPropagatorInS::theTolerance
double theTolerance
Definition: RKPropagatorInS.h:49
Basic3DVector.h
Surface
Definition: Surface.h:36
RKPropagatorInS::fieldProvider
RKLocalFieldProvider fieldProvider() const
Definition: RKPropagatorInS.cc:321
RKLocalFieldProvider
Definition: RKLocalFieldProvider.h:10
RKPropagatorInS::gtpFromLocal
GlobalTrajectoryParameters gtpFromLocal(const Basic3DVector< float > &lpos, const Basic3DVector< float > &lmom, TrackCharge ch, const Surface &surf) const
Definition: RKPropagatorInS.cc:314
Propagator
Definition: Propagator.h:44
RKPropagatorInS::TsosWP
std::pair< TrajectoryStateOnSurface, double > TsosWP
Definition: RKPropagatorInS.h:46
TrackCharge.h
GlobalParametersWithPath
Definition: GlobalParametersWithPath.h:7
RKPropagatorInS::clone
Propagator * clone() const override
Definition: RKPropagatorInS.cc:312
RKPropagatorInS::~RKPropagatorInS
~RKPropagatorInS() override
Definition: RKPropagatorInS.h:28
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
Point3DBase< float, GlobalTag >
RKPropagatorInS::magneticField
const MagneticField * magneticField() const override
Definition: RKPropagatorInS.h:43
RKPropagatorInS::propagateParametersOnCylinder
GlobalParametersWithPath propagateParametersOnCylinder(const FreeTrajectoryState &ts, const Cylinder &cyl) const
Definition: RKPropagatorInS.cc:191
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
dso_internal
#define dso_internal
Definition: Visibility.h:13
MagVolume
Definition: MagVolume.h:13
tolerance
const double tolerance
Definition: HGCalGeomParameters.cc:27
RKPropagatorInS::invertDirection
PropagationDirection invertDirection(PropagationDirection dir) const
Definition: RKPropagatorInS.cc:327
Propagator::propagate
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
RKPropagatorInS::rkPosition
Basic3DVector< double > rkPosition(const GlobalPoint &pos) const
Definition: RKPropagatorInS.cc:333
CartesianStateAdaptor
Definition: CartesianStateAdaptor.h:8
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
RKPropagatorInS::RKPropagatorInS
RKPropagatorInS(const MagVolume &vol, PropagationDirection dir=alongMomentum, double tolerance=5.e-5)
Definition: RKPropagatorInS.h:25
Plane
Definition: Plane.h:16
GlobalVector.h
RKPropagatorInS::gtpFromVolumeLocal
GlobalTrajectoryParameters gtpFromVolumeLocal(const CartesianStateAdaptor &state, TrackCharge charge) const
Definition: RKPropagatorInS.cc:363
Propagator::propagateWithPath
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
Definition: Propagator.cc:10
Cylinder
Definition: Cylinder.h:19
RKPropagatorInS::globalPosition
GlobalPoint globalPosition(const Basic3DVector< float > &pos) const
Definition: RKPropagatorInS.cc:347
MagneticField
Definition: MagneticField.h:19
GlobalPoint.h
alongMomentum
Definition: PropagationDirection.h:4
Basic3DVector< float >
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
RKPropagatorInS::theVolume
const MagVolume * theVolume
Definition: RKPropagatorInS.h:48