CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
PropagatorWithMaterial Class Referencefinal

#include <PropagatorWithMaterial.h>

Inheritance diagram for PropagatorWithMaterial:
Propagator

Public Types

enum  MaterialLocation { atSource, atDestination, fromDirection }
 

Public Member Functions

PropagatorWithMaterialclone () const override
 
const PropagatorgeometricalPropagator () const
 Access to the geometrical propagator. More...
 
const MagneticFieldmagneticField () const override
 
const MaterialEffectsUpdatormaterialEffectsUpdator () const
 Access to the MaterialEffectsUpdator. More...
 
virtual FreeTrajectoryState propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final
 
virtual FreeTrajectoryState propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const final
 
virtual FreeTrajectoryState propagate (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const final
 
template<typename STA , typename SUR >
TrajectoryStateOnSurface propagate (STA const &state, SUR const &surface) const
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const FreeTrajectoryState &, const Cylinder &) const=0
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const FreeTrajectoryState &, const Plane &) const=0
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const FreeTrajectoryState &, const Surface &) const final
 
virtual std::pair< FreeTrajectoryState, double > propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const
 
virtual std::pair< FreeTrajectoryState, double > propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const
 Propagate to PCA to a line (given by 2 points) given a starting point. More...
 
virtual std::pair< FreeTrajectoryState, double > propagateWithPath (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const
 Propagate to PCA to a line (given by beamSpot position and slope) given a starting point. More...
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const TrajectoryStateOnSurface &tsos, const Cylinder &sur) const
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const TrajectoryStateOnSurface &tsos, const Plane &sur) const
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const TrajectoryStateOnSurface &tsos, const Surface &sur) const final
 
 PropagatorWithMaterial (PropagationDirection dir, const float mass, const MagneticField *mf=nullptr, const float maxDPhi=1.6, bool useRungeKutta=false, float ptMin=-1., bool useOldGeoPropLogic=true)
 
void setMaterialLocation (const MaterialLocation location)
 
bool setMaxDirectionChange (float phiMax) override
 Limit on change in azimuthal angle. More...
 
void setPropagationDirection (PropagationDirection dir) override
 Propagation direction. More...
 
 ~PropagatorWithMaterial () override
 
- Public Member Functions inherited from Propagator
virtual FreeTrajectoryState propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const final
 
virtual FreeTrajectoryState propagate (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const final
 
virtual FreeTrajectoryState propagate (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const final
 
template<typename STA , typename SUR >
TrajectoryStateOnSurface propagate (STA const &state, SUR const &surface) const
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const FreeTrajectoryState &, const Surface &) const final
 
virtual std::pair< FreeTrajectoryState, double > propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest) const
 
virtual std::pair< FreeTrajectoryState, double > propagateWithPath (const FreeTrajectoryState &ftsStart, const GlobalPoint &pDest1, const GlobalPoint &pDest2) const
 Propagate to PCA to a line (given by 2 points) given a starting point. More...
 
virtual std::pair< FreeTrajectoryState, double > propagateWithPath (const FreeTrajectoryState &ftsStart, const reco::BeamSpot &beamSpot) const
 Propagate to PCA to a line (given by beamSpot position and slope) given a starting point. More...
 
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const TrajectoryStateOnSurface &tsos, const Surface &sur) const final
 
virtual PropagationDirection propagationDirection () const final
 
 Propagator (PropagationDirection dir=alongMomentum)
 
virtual ~Propagator ()
 

Private Types

typedef std::pair< TrajectoryStateOnSurface, double > TsosWP
 

Private Member Functions

bool materialAtSource () const
 Inclusion of material at the source? More...
 
std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const FreeTrajectoryState &fts, const Cylinder &cylinder) const override
 
std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const FreeTrajectoryState &fts, const Plane &plane) const override
 
std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const TrajectoryStateOnSurface &tsos, const Cylinder &cylinder) const override
 
std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const TrajectoryStateOnSurface &tsos, const Plane &plane) const override
 

Private Attributes

const MagneticFieldfield
 
defaultRKPropagator::Product rkProduct
 
DeepCopyPointerByClone< PropagatortheGeometricalPropagator
 
MaterialLocation theMaterialLocation
 
DeepCopyPointerByClone< MaterialEffectsUpdatortheMEUpdator
 
bool useRungeKutta_
 

Detailed Description

Propagation including material effects.

Propagates using a specific for the geometrical part and a MaterialEffectsUpdator to include multiple scattering and energy loss. By default material effects are included at the source in the case of forward propagation and at the destination for backward propagation. Material effects at the source can only be included when propagating from a TrajectoryStateOnSurface. Ported from ORCA.

Author
todorov, cerati

Definition at line 25 of file PropagatorWithMaterial.h.

Member Typedef Documentation

◆ TsosWP

typedef std::pair<TrajectoryStateOnSurface, double> PropagatorWithMaterial::TsosWP
private

Definition at line 100 of file PropagatorWithMaterial.h.

Member Enumeration Documentation

◆ MaterialLocation

Enumerator
atSource 
atDestination 
fromDirection 

Definition at line 69 of file PropagatorWithMaterial.h.

Constructor & Destructor Documentation

◆ 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 
)

Constructor with PropagationDirection and mass hypothesis. Uses AnalyticalPropagator and CombinedMaterialEffectsUpdator with explicit mass hypothesis.MaxDPhi is a cut on the max change in phi during state propagation. For propagation of very low pt tracks (e.g. loopers), this cut can be loosened. If ptMin > 0, then multiple scattering calculations will take into account the uncertainty in the reconstructed track momentum, (by default neglected), but assuming that the track Pt will never fall below ptMin.

Definition at line 12 of file PropagatorWithMaterial.cc.

Referenced by clone().

◆ ~PropagatorWithMaterial()

PropagatorWithMaterial::~PropagatorWithMaterial ( )
override

Definition at line 10 of file PropagatorWithMaterial.cc.

10 {}

Member Function Documentation

◆ clone()

PropagatorWithMaterial* PropagatorWithMaterial::clone ( void  ) const
inlineoverridevirtual

Implements Propagator.

Definition at line 86 of file PropagatorWithMaterial.h.

86 { return new PropagatorWithMaterial(*this); }

References PropagatorWithMaterial().

◆ geometricalPropagator()

const Propagator& PropagatorWithMaterial::geometricalPropagator ( ) const
inline

Access to the geometrical propagator.

Definition at line 80 of file PropagatorWithMaterial.h.

80 { return *theGeometricalPropagator; }

References theGeometricalPropagator.

◆ magneticField()

const MagneticField* PropagatorWithMaterial::magneticField ( ) const
inlineoverridevirtual

Implements Propagator.

Definition at line 84 of file PropagatorWithMaterial.h.

84 { return field; }

References field.

◆ materialAtSource()

bool PropagatorWithMaterial::materialAtSource ( ) const
private

Inclusion of material at the source?

Definition at line 115 of file PropagatorWithMaterial.cc.

115  {
116  if
118  throw cms::Exception(
119  "TrackingTools/MaterialEffects",
120  "PropagatorWithMaterial: propagation direction = anyDirection is incompatible with adding of material at source");
121 
122  return theMaterialLocation == atSource ||
124 }

References alongMomentum, anyDirection, atDestination, atSource, Exception, fromDirection, Propagator::propagationDirection(), theMaterialLocation, and UNLIKELY.

Referenced by propagateWithPath().

◆ materialEffectsUpdator()

const MaterialEffectsUpdator& PropagatorWithMaterial::materialEffectsUpdator ( ) const
inline

Access to the MaterialEffectsUpdator.

Definition at line 82 of file PropagatorWithMaterial.h.

82 { return *theMEUpdator; }

References theMEUpdator.

◆ propagate() [1/4]

virtual FreeTrajectoryState Propagator::propagate
inlinefinal

Definition at line 109 of file Propagator.h.

109  {
110  return propagateWithPath(ftsStart, pDest).first;
111  }

◆ propagate() [2/4]

virtual FreeTrajectoryState Propagator::propagate
inlinefinal

Definition at line 112 of file Propagator.h.

114  {
115  return propagateWithPath(ftsStart, pDest1, pDest2).first;
116  }

◆ propagate() [3/4]

virtual FreeTrajectoryState Propagator::propagate
inlinefinal

Definition at line 117 of file Propagator.h.

118  {
119  return propagateWithPath(ftsStart, beamSpot).first;
120  }

◆ propagate() [4/4]

template<typename STA , typename SUR >
TrajectoryStateOnSurface Propagator::propagate ( typename STA  ,
typename SUR   
)
inline

◆ propagateWithPath() [1/13]

virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath

◆ propagateWithPath() [2/13]

virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath

◆ propagateWithPath() [3/13]

std::pair< TrajectoryStateOnSurface, double > Propagator::propagateWithPath
final

The methods propagateWithPath() are identical to the corresponding methods propagate() in what concerns the resulting TrajectoryStateOnSurface, but they provide in addition the exact path length along the trajectory. Only use the generic method if the surface type (plane or cylinder) is not known at the calling point.

Definition at line 10 of file Propagator.cc.

11  {
12  // try plane first, most probable case (disk "is a" plane too)
13  const Plane* bp = dynamic_cast<const Plane*>(&sur);
14  if (bp != nullptr)
15  return propagateWithPath(state, *bp);
16 
17  // if not plane try cylinder
18  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
19  if (bc != nullptr)
20  return propagateWithPath(state, *bc);
21 
22  // unknown surface - can't do it!
23  throw PropagationException("The surface is neither Cylinder nor Plane");
24 }

◆ propagateWithPath() [4/13]

pair< TrajectoryStateOnSurface, double > PropagatorWithMaterial::propagateWithPath ( const FreeTrajectoryState fts,
const Cylinder cylinder 
) const
overrideprivatevirtual

Implements Propagator.

Definition at line 40 of file PropagatorWithMaterial.cc.

41  {
42  TsosWP newTsosWP = theGeometricalPropagator->propagateWithPath(fts, cylinder);
43  if ((newTsosWP.first).isValid() && !materialAtSource()) {
44  bool updateOk = theMEUpdator->updateStateInPlace(
45  newTsosWP.first, PropagationDirectionFromPath()(newTsosWP.second, propagationDirection()));
46  if
47  UNLIKELY(!updateOk) newTsosWP.first = TrajectoryStateOnSurface();
48  }
49  return newTsosWP;
50 }

References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, UNLIKELY, and MaterialEffectsUpdator::updateStateInPlace().

◆ propagateWithPath() [5/13]

pair< TrajectoryStateOnSurface, double > PropagatorWithMaterial::propagateWithPath ( const FreeTrajectoryState fts,
const Plane plane 
) const
overrideprivatevirtual

Implements Propagator.

Definition at line 28 of file PropagatorWithMaterial.cc.

29  {
30  TsosWP newTsosWP = theGeometricalPropagator->propagateWithPath(fts, plane);
31  if ((newTsosWP.first).isValid() && !materialAtSource()) {
32  bool updateOk = theMEUpdator->updateStateInPlace(
33  newTsosWP.first, PropagationDirectionFromPath()(newTsosWP.second, propagationDirection()));
34  if
35  UNLIKELY(!updateOk) newTsosWP.first = TrajectoryStateOnSurface();
36  }
37  return newTsosWP;
38 }

References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, UNLIKELY, and MaterialEffectsUpdator::updateStateInPlace().

◆ propagateWithPath() [6/13]

std::pair< FreeTrajectoryState, double > Propagator::propagateWithPath

implemented by Stepping Helix Propagate to PCA to point given a starting point

Definition at line 42 of file Propagator.cc.

43  {
44  throw cms::Exception("Propagator::propagate(FTS,GlobalPoint) not implemented");
45  return std::pair<FreeTrajectoryState, double>();
46 }

◆ propagateWithPath() [7/13]

std::pair< FreeTrajectoryState, double > Propagator::propagateWithPath

Propagate to PCA to a line (given by 2 points) given a starting point.

Definition at line 47 of file Propagator.cc.

49  {
50  throw cms::Exception("Propagator::propagate(FTS,GlobalPoint,GlobalPoint) not implemented");
51  return std::pair<FreeTrajectoryState, double>();
52 }

◆ propagateWithPath() [8/13]

std::pair< FreeTrajectoryState, double > Propagator::propagateWithPath

Propagate to PCA to a line (given by beamSpot position and slope) given a starting point.

Definition at line 53 of file Propagator.cc.

54  {
55  throw cms::Exception("Propagator::propagate(FTS,beamSpot) not implemented");
56  return std::pair<FreeTrajectoryState, double>();
57 }

◆ propagateWithPath() [9/13]

pair< TrajectoryStateOnSurface, double > PropagatorWithMaterial::propagateWithPath ( const TrajectoryStateOnSurface tsos,
const Cylinder cylinder 
) const
overrideprivatevirtual

Reimplemented from Propagator.

Definition at line 81 of file PropagatorWithMaterial.cc.

82  {
83  //
84  // add material at starting surface, if requested
85  //
86  TsosWP newTsosWP(tsos, 0.);
87  if (materialAtSource()) {
88  bool updateOk = theMEUpdator->updateStateInPlace(newTsosWP.first, propagationDirection());
89  if
90  UNLIKELY(!updateOk) newTsosWP.first = TrajectoryStateOnSurface();
91  }
92  if
93  UNLIKELY(!newTsosWP.first.isValid()) return newTsosWP;
94  //
95  // geometrical propagation
96  //
97  newTsosWP = theGeometricalPropagator->propagateWithPath(newTsosWP.first, cylinder);
98  if
99  UNLIKELY(!(newTsosWP.first).isValid() || materialAtSource()) return newTsosWP;
100  //
101  // add material at destination surface, if requested
102  //
103  bool updateOk = theMEUpdator->updateStateInPlace(
104  newTsosWP.first, PropagationDirectionFromPath()(newTsosWP.second, propagationDirection()));
105  if
106  UNLIKELY(!updateOk) newTsosWP.first = TrajectoryStateOnSurface();
107  return newTsosWP;
108 }

References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, UNLIKELY, and MaterialEffectsUpdator::updateStateInPlace().

◆ propagateWithPath() [10/13]

virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath
inline

Definition at line 91 of file Propagator.h.

92  {
93  return propagateWithPath(*tsos.freeState(), sur);
94  }

◆ propagateWithPath() [11/13]

pair< TrajectoryStateOnSurface, double > PropagatorWithMaterial::propagateWithPath ( const TrajectoryStateOnSurface tsos,
const Plane plane 
) const
overrideprivatevirtual

Reimplemented from Propagator.

Definition at line 52 of file PropagatorWithMaterial.cc.

53  {
54  //
55  // add material at starting surface, if requested
56  //
57  TsosWP newTsosWP(tsos, 0.);
58  if (materialAtSource()) {
59  bool updateOk = theMEUpdator->updateStateInPlace(newTsosWP.first, propagationDirection());
60  if
61  UNLIKELY(!updateOk) newTsosWP.first = TrajectoryStateOnSurface();
62  }
63  if
64  UNLIKELY(!newTsosWP.first.isValid()) return newTsosWP;
65  //
66  // geometrical propagation
67  //
68  newTsosWP = theGeometricalPropagator->propagateWithPath(newTsosWP.first, plane);
69  if
70  UNLIKELY(!newTsosWP.first.isValid() || materialAtSource()) return newTsosWP;
71  //
72  // add material at destination surface, if requested
73  //
74  bool updateOk = theMEUpdator->updateStateInPlace(
75  newTsosWP.first, PropagationDirectionFromPath()(newTsosWP.second, propagationDirection()));
76  if
77  UNLIKELY(!updateOk) newTsosWP.first = TrajectoryStateOnSurface();
78  return newTsosWP;
79 }

References materialAtSource(), Propagator::propagateWithPath(), Propagator::propagationDirection(), theGeometricalPropagator, theMEUpdator, UNLIKELY, and MaterialEffectsUpdator::updateStateInPlace().

◆ propagateWithPath() [12/13]

virtual std::pair<TrajectoryStateOnSurface, double> Propagator::propagateWithPath
inline

Definition at line 86 of file Propagator.h.

87  {
88  return propagateWithPath(*tsos.freeState(), sur);
89  }

◆ propagateWithPath() [13/13]

std::pair< TrajectoryStateOnSurface, double > Propagator::propagateWithPath
final

The following three methods are equivalent to the corresponding methods above, but if the starting state is a TrajectoryStateOnSurface, it's better to use it as such rather than use just the FreeTrajectoryState part. It may help some concrete propagators. Only use the generic method if the surface type (plane or cylinder) is not known at the calling point.

Definition at line 26 of file Propagator.cc.

27  {
28  // try plane first, most probable case (disk "is a" plane too)
29  const Plane* bp = dynamic_cast<const Plane*>(&sur);
30  if (bp != nullptr)
31  return propagateWithPath(state, *bp);
32 
33  // if not plane try cylinder
34  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
35  if (bc != nullptr)
36  return propagateWithPath(state, *bc);
37 
38  // unknown surface - can't do it!
39  throw PropagationException("The surface is neither Cylinder nor Plane");
40 }

◆ setMaterialLocation()

void PropagatorWithMaterial::setMaterialLocation ( const MaterialLocation  location)
inline

Choice of location for including material effects: fromDirection is equivalent to atSource for propagation alongMomentum and to atDestination for propagation oppositeToMomentum. Inclusion of material effects at the source (either explicitely or implicitely) is not possible if propagating with anyDirection and will effectively disable material effects when propagating from a FreeTrajectoryState.

Definition at line 78 of file PropagatorWithMaterial.h.

References EcalCondDBWriter_cfi::location, and theMaterialLocation.

◆ setMaxDirectionChange()

bool PropagatorWithMaterial::setMaxDirectionChange ( float  phiMax)
inlineoverridevirtual

Limit on change in azimuthal angle.

Reimplemented from Propagator.

Definition at line 65 of file PropagatorWithMaterial.h.

References AlignmentTrackSelector_cfi::phiMax, Propagator::setMaxDirectionChange(), and theGeometricalPropagator.

◆ setPropagationDirection()

void PropagatorWithMaterial::setPropagationDirection ( PropagationDirection  dir)
overridevirtual

Member Data Documentation

◆ field

const MagneticField* PropagatorWithMaterial::field
private

Definition at line 103 of file PropagatorWithMaterial.h.

Referenced by magneticField().

◆ rkProduct

defaultRKPropagator::Product PropagatorWithMaterial::rkProduct
private

Definition at line 95 of file PropagatorWithMaterial.h.

◆ theGeometricalPropagator

DeepCopyPointerByClone<Propagator> PropagatorWithMaterial::theGeometricalPropagator
private

◆ theMaterialLocation

MaterialLocation PropagatorWithMaterial::theMaterialLocation
private

Definition at line 102 of file PropagatorWithMaterial.h.

Referenced by materialAtSource(), and setMaterialLocation().

◆ theMEUpdator

DeepCopyPointerByClone<MaterialEffectsUpdator> PropagatorWithMaterial::theMEUpdator
private

Definition at line 99 of file PropagatorWithMaterial.h.

Referenced by materialEffectsUpdator(), and propagateWithPath().

◆ useRungeKutta_

bool PropagatorWithMaterial::useRungeKutta_
private

Definition at line 104 of file PropagatorWithMaterial.h.

MaterialEffectsUpdator::updateStateInPlace
virtual bool updateStateInPlace(TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
Definition: MaterialEffectsUpdator.cc:26
PropagatorWithMaterial::useRungeKutta_
bool useRungeKutta_
Definition: PropagatorWithMaterial.h:104
PropagatorWithMaterial::theMEUpdator
DeepCopyPointerByClone< MaterialEffectsUpdator > theMEUpdator
Definition: PropagatorWithMaterial.h:99
anyDirection
Definition: PropagationDirection.h:4
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
PropagatorWithMaterial::theMaterialLocation
MaterialLocation theMaterialLocation
Definition: PropagatorWithMaterial.h:102
PropagationException
Common base class.
Definition: PropagationExceptions.h:14
PropagationDirectionFromPath
Definition: PropagationDirectionFromPath.h:8
PropagatorWithMaterial::materialAtSource
bool materialAtSource() const
Inclusion of material at the source?
Definition: PropagatorWithMaterial.cc:115
CombinedMaterialEffectsUpdator
Definition: CombinedMaterialEffectsUpdator.h:18
ptMin
constexpr float ptMin
Definition: PhotonIDValueMapProducer.cc:155
PropagatorWithMaterial::propagateWithPath
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Plane &plane) const override
Definition: PropagatorWithMaterial.cc:52
HLT_FULL_cff.maxDPhi
maxDPhi
Definition: HLT_FULL_cff.py:9146
PropagatorWithMaterial::atDestination
Definition: PropagatorWithMaterial.h:69
UNLIKELY
#define UNLIKELY(x)
Definition: Likely.h:21
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
HLTSiStripMonitoring_cff.useRungeKutta
useRungeKutta
Definition: HLTSiStripMonitoring_cff.py:138
Propagator::propagationDirection
virtual PropagationDirection propagationDirection() const final
Definition: Propagator.h:139
AlignmentTrackSelector_cfi.phiMax
phiMax
Definition: AlignmentTrackSelector_cfi.py:17
RKPropagatorInS::clone
Propagator * clone() const override
Definition: RKPropagatorInS.cc:312
Propagator::setPropagationDirection
virtual void setPropagationDirection(PropagationDirection dir)
Definition: Propagator.h:130
PropagatorWithMaterial::field
const MagneticField * field
Definition: PropagatorWithMaterial.h:103
AnalyticalPropagator_cfi.AnalyticalPropagator
AnalyticalPropagator
Definition: AnalyticalPropagator_cfi.py:3
PropagatorWithMaterial::TsosWP
std::pair< TrajectoryStateOnSurface, double > TsosWP
Definition: PropagatorWithMaterial.h:100
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
PropagatorWithMaterial::atSource
Definition: PropagatorWithMaterial.h:69
PropagatorWithMaterialForMTD_cfi.useOldAnalPropLogic
useOldAnalPropLogic
Definition: PropagatorWithMaterialForMTD_cfi.py:11
RunInfoPI::state
state
Definition: RunInfoPayloadInspectoHelper.h:16
Exception
Definition: hltDiff.cc:246
Plane
Definition: Plane.h:16
EgHLTOffHistBins_cfi.mass
mass
Definition: EgHLTOffHistBins_cfi.py:34
defaultRKPropagator::Product::propagator
RKPropagator propagator
Definition: defaultRKPropagator.h:48
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
Propagator::setMaxDirectionChange
virtual bool setMaxDirectionChange(float phiMax)
Definition: Propagator.h:151
alongMomentum
Definition: PropagationDirection.h:4
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
Propagator::Propagator
Propagator(PropagationDirection dir=alongMomentum)
Definition: Propagator.h:46