CMS 3D CMS Logo

PropagatorWithMaterial.h
Go to the documentation of this file.
1 #ifndef _COMMONRECO_PROPAGATORWITHMATERIAL_H_
2 #define _COMMONRECO_PROPAGATORWITHMATERIAL_H_
3 
20 
23 
24 class MagneticField;
25 class PropagatorWithMaterial final : public Propagator {
26 public:
38  const float mass,
39  const MagneticField* mf = nullptr,
40  const float maxDPhi = 1.6,
41  bool useRungeKutta = false,
42  float ptMin = -1.,
43  bool useOldGeoPropLogic = true);
44 
45  ~PropagatorWithMaterial() override;
46 
49 
50 private:
51  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const TrajectoryStateOnSurface& tsos,
52  const Plane& plane) const override;
53 
54  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const FreeTrajectoryState& fts,
55  const Plane& plane) const override;
56 
57  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const TrajectoryStateOnSurface& tsos,
58  const Cylinder& cylinder) const override;
59 
60  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const FreeTrajectoryState& fts,
61  const Cylinder& cylinder) const override;
62 
63 public:
68 
83 
84  const MagneticField* magneticField() const override { return field; }
85 
86  PropagatorWithMaterial* clone() const override { return new PropagatorWithMaterial(*this); }
87 
88 private:
91 
92 private:
93  // Geometrical propagator
94 
97 
98  // Material effects
100  typedef std::pair<TrajectoryStateOnSurface, double> TsosWP;
101  // Use material at source?
105 };
106 
107 #endif
PropagatorWithMaterial::useRungeKutta_
bool useRungeKutta_
Definition: PropagatorWithMaterial.h:104
Propagator.h
PropagatorWithMaterial::theMEUpdator
DeepCopyPointerByClone< MaterialEffectsUpdator > theMEUpdator
Definition: PropagatorWithMaterial.h:99
PropagatorWithMaterial::MaterialLocation
MaterialLocation
Definition: PropagatorWithMaterial.h:69
PropagatorWithMaterial::magneticField
const MagneticField * magneticField() const override
Definition: PropagatorWithMaterial.h:84
PropagatorWithMaterial::setMaxDirectionChange
bool setMaxDirectionChange(float phiMax) override
Limit on change in azimuthal angle.
Definition: PropagatorWithMaterial.h:65
PropagatorWithMaterial::theMaterialLocation
MaterialLocation theMaterialLocation
Definition: PropagatorWithMaterial.h:102
HLT_2018_cff.maxDPhi
maxDPhi
Definition: HLT_2018_cff.py:7827
PropagatorWithMaterial::materialAtSource
bool materialAtSource() const
Inclusion of material at the source?
Definition: PropagatorWithMaterial.cc:115
ptMin
constexpr float ptMin
Definition: PhotonIDValueMapProducer.cc:153
PropagatorWithMaterial::propagateWithPath
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Plane &plane) const override
Definition: PropagatorWithMaterial.cc:52
defaultRKPropagator
Definition: defaultRKPropagator.h:7
DeepCopyPointerByClone.h
PropagatorWithMaterial::atDestination
Definition: PropagatorWithMaterial.h:69
watchdog.const
const
Definition: watchdog.py:83
PropagatorWithMaterial::setPropagationDirection
void setPropagationDirection(PropagationDirection dir) override
Propagation direction.
Definition: PropagatorWithMaterial.cc:110
Propagator
Definition: Propagator.h:44
MaterialEffectsUpdator.h
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
DeepCopyPointerByClone
Definition: DeepCopyPointerByClone.h:11
PropagatorWithMaterial
Definition: PropagatorWithMaterial.h:25
PropagatorWithMaterial::clone
PropagatorWithMaterial * clone() const override
Definition: PropagatorWithMaterial.h:86
HLTSiStripMonitoring_cff.useRungeKutta
useRungeKutta
Definition: HLTSiStripMonitoring_cff.py:138
AlignmentTrackSelector_cfi.phiMax
phiMax
Definition: AlignmentTrackSelector_cfi.py:17
PropagatorWithMaterial::field
const MagneticField * field
Definition: PropagatorWithMaterial.h:103
PropagatorWithMaterial::setMaterialLocation
void setMaterialLocation(const MaterialLocation location)
Definition: PropagatorWithMaterial.h:78
PropagatorWithMaterial::TsosWP
std::pair< TrajectoryStateOnSurface, double > TsosWP
Definition: PropagatorWithMaterial.h:100
dso_internal
#define dso_internal
Definition: Visibility.h:13
PropagatorWithMaterial::PropagatorWithMaterial
PropagatorWithMaterial(PropagationDirection dir, const float mass, const MagneticField *mf=nullptr, const float maxDPhi=1.6, bool useRungeKutta=false, float ptMin=-1., bool useOldGeoPropLogic=true)
Definition: PropagatorWithMaterial.cc:12
PropagatorWithMaterial::rkProduct
defaultRKPropagator::Product rkProduct
Definition: PropagatorWithMaterial.h:95
defaultRKPropagator.h
Propagator::propagate
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
PropagatorWithMaterial::atSource
Definition: PropagatorWithMaterial.h:69
PropagatorWithMaterial::geometricalPropagator
const Propagator & geometricalPropagator() const
Access to the geometrical propagator.
Definition: PropagatorWithMaterial.h:80
std
Definition: JetResolutionObject.h:76
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
PropagatorWithMaterial::materialEffectsUpdator
const MaterialEffectsUpdator & materialEffectsUpdator() const
Access to the MaterialEffectsUpdator.
Definition: PropagatorWithMaterial.h:82
PropagatorWithMaterial::~PropagatorWithMaterial
~PropagatorWithMaterial() override
Definition: PropagatorWithMaterial.cc:10
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
Plane
Definition: Plane.h:16
EgHLTOffHistBins_cfi.mass
mass
Definition: EgHLTOffHistBins_cfi.py:34
Propagator::propagateWithPath
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
Definition: Propagator.cc:10
PropagatorWithMaterial::fromDirection
Definition: PropagatorWithMaterial.h:69
EcalCondDBWriter_cfi.location
location
Definition: EcalCondDBWriter_cfi.py:63
Cylinder
Definition: Cylinder.h:19
PropagatorWithMaterial::theGeometricalPropagator
DeepCopyPointerByClone< Propagator > theGeometricalPropagator
Definition: PropagatorWithMaterial.h:96
MagneticField
Definition: MagneticField.h:19
Propagator::setMaxDirectionChange
virtual bool setMaxDirectionChange(float phiMax)
Definition: Propagator.h:151
MaterialEffectsUpdator
Definition: MaterialEffectsUpdator.h:56
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23