CMS 3D CMS Logo

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

#include <SmartPropagator.h>

Inheritance diagram for SmartPropagator:
Propagator

Public Member Functions

SmartPropagatorclone () const override
 Virtual constructor (using copy c'tor) More...
 
const PropagatorgetGenPropagator () const
 return the propagator used outside tracker More...
 
const PropagatorgetTkPropagator () const
 return the propagator used inside tracker More...
 
bool insideTkVol (const Cylinder &cylin) const
 true if a cylinder is inside tracker volume More...
 
bool insideTkVol (const FreeTrajectoryState &fts) const
 true if a fts is inside tracker volume More...
 
bool insideTkVol (const Plane &plane) const
 true if a plane is inside tracker volume More...
 
bool insideTkVol (const Surface &surface) const
 true if a surface is inside tracker volume More...
 
const MagneticFieldmagneticField () const override
 return the magneticField 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
 
void setPropagationDirection (PropagationDirection dir) override
 setting the direction fo both components More...
 
 SmartPropagator (const Propagator &aTkProp, const Propagator &aGenProp, const MagneticField *field, PropagationDirection dir=alongMomentum, float epsilon=5)
 Defines which propagator is used inside Tk and which outside. More...
 
 SmartPropagator (const Propagator *aTkProp, const Propagator *aGenProp, const MagneticField *field, PropagationDirection dir=alongMomentum, float epsilon=5)
 Defines which propagator is used inside Tk and which outside. More...
 
 SmartPropagator (const SmartPropagator &)
 Copy constructor. More...
 
 ~SmartPropagator () 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 bool setMaxDirectionChange (float phiMax)
 
virtual ~Propagator ()
 

Private Member Functions

void initTkVolume (float epsilon)
 build the tracker volume 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 &sur) const override
 
std::pair< TrajectoryStateOnSurface, double > propagateWithPath (const TrajectoryStateOnSurface &tsos, const Plane &sur) const override
 

Private Attributes

const MagneticFieldtheField
 
PropagatortheGenProp
 
PropagatortheTkProp
 
ReferenceCountingPointer< CylindertheTkVolume
 

Detailed Description

A propagator which use different algorithm to propagate inside or outside tracker

Author
Stefano Lacaprara - INFN Padova \porting author Chang Liu - Purdue University

Modification: 26-Jun-2002 SL: theTkVolume is now a static ReferenceCountingPointer<BoundCylinder> 28-Aug-2002 SL: added methods to unhide Propagator methods 29-Oct-2002 SL: fixed clone and copy constructor, and BoundCylinder are build with CylinderBuilder to enforce the referencePointer

Definition at line 34 of file SmartPropagator.h.

Constructor & Destructor Documentation

◆ SmartPropagator() [1/3]

SmartPropagator::SmartPropagator ( const Propagator aTkProp,
const Propagator aGenProp,
const MagneticField field,
PropagationDirection  dir = alongMomentum,
float  epsilon = 5 
)

Defines which propagator is used inside Tk and which outside.

Definition at line 36 of file SmartPropagator.cc.

41  : Propagator(dir), theTkProp(aTkProp->clone()), theGenProp(aGenProp->clone()), theField(field) {
43 }

References geometryDiff::epsilon, and initTkVolume().

Referenced by clone().

◆ SmartPropagator() [2/3]

SmartPropagator::SmartPropagator ( const Propagator aTkProp,
const Propagator aGenProp,
const MagneticField field,
PropagationDirection  dir = alongMomentum,
float  epsilon = 5 
)

Defines which propagator is used inside Tk and which outside.

Definition at line 45 of file SmartPropagator.cc.

50  : Propagator(dir), theTkProp(aTkProp.clone()), theGenProp(aGenProp.clone()), theField(field) {
52 }

References geometryDiff::epsilon, and initTkVolume().

◆ SmartPropagator() [3/3]

SmartPropagator::SmartPropagator ( const SmartPropagator aProp)

Copy constructor.

Definition at line 54 of file SmartPropagator.cc.

55  : Propagator(aProp.propagationDirection()), theTkProp(nullptr), theGenProp(nullptr) {
56  if (aProp.theTkProp)
57  theTkProp = aProp.getTkPropagator()->clone();
58  if (aProp.theGenProp)
59  theTkProp = aProp.getGenPropagator()->clone();
60 
61  //SL since it's a copy constructor, then the TkVolume has been already
62  //initialized
63  // initTkVolume(epsilon);
64 }

References Propagator::clone(), getGenPropagator(), getTkPropagator(), theGenProp, and theTkProp.

◆ ~SmartPropagator()

SmartPropagator::~SmartPropagator ( )
override

virtual destructor

Definition at line 67 of file SmartPropagator.cc.

67  {
68  delete theTkProp;
69  delete theGenProp;
70 }

References theGenProp, and theTkProp.

Member Function Documentation

◆ clone()

SmartPropagator* SmartPropagator::clone ( void  ) const
inlineoverridevirtual

Virtual constructor (using copy c'tor)

Implements Propagator.

Definition at line 58 of file SmartPropagator.h.

58  {
60  }

References getGenPropagator(), getTkPropagator(), magneticField(), and SmartPropagator().

◆ getGenPropagator()

const Propagator * SmartPropagator::getGenPropagator ( ) const

return the propagator used outside tracker

Definition at line 157 of file SmartPropagator.cc.

157 { return theGenProp; }

References theGenProp.

Referenced by clone(), propagateWithPath(), and SmartPropagator().

◆ getTkPropagator()

const Propagator * SmartPropagator::getTkPropagator ( ) const

return the propagator used inside tracker

Definition at line 155 of file SmartPropagator.cc.

155 { return theTkProp; }

References theTkProp.

Referenced by clone(), propagateWithPath(), and SmartPropagator().

◆ initTkVolume()

void SmartPropagator::initTkVolume ( float  epsilon)
private

build the tracker volume

Definition at line 73 of file SmartPropagator.cc.

73  {
74  //
75  // fill tracker dimensions
76  //
77  float radius = TrackerBounds::radius();
78  float r_out = radius + epsilon / 2;
79  float r_in = r_out - epsilon;
80  float z_max = TrackerBounds::halfLength();
81  float z_min = -z_max;
82 
83  Surface::PositionType pos(0, 0, 0); // centered at the global origin
84  Surface::RotationType rot; // unit matrix - barrel cylinder orientation
85 
86  theTkVolume = Cylinder::build(radius, pos, rot, new SimpleCylinderBounds(r_in, r_out, z_min, z_max));
87 }

References Cylinder::build(), geometryDiff::epsilon, TrackerBounds::halfLength(), TrackerBounds::radius(), CosmicsPD_Skims::radius, makeMuonMisalignmentScenario::rot, and theTkVolume.

Referenced by SmartPropagator().

◆ insideTkVol() [1/4]

bool SmartPropagator::insideTkVol ( const Cylinder cylin) const

true if a cylinder is inside tracker volume

◆ insideTkVol() [2/4]

bool SmartPropagator::insideTkVol ( const FreeTrajectoryState fts) const

true if a fts is inside tracker volume

Definition at line 125 of file SmartPropagator.cc.

125  {
126  GlobalPoint gp = fts.position();
127  // LocalPoint lp = theTkVolume()->toLocal(gp);
128  // return theTkVolume()->bounds().inside(lp);
129 
130  return ((gp.perp() <= TrackerBounds::radius() + 10.) && (fabs(gp.z()) <= TrackerBounds::halfLength() + 10.));
131 }

References runTauDisplay::gp, TrackerBounds::halfLength(), FreeTrajectoryState::position(), and TrackerBounds::radius().

Referenced by propagateWithPath().

◆ insideTkVol() [3/4]

bool SmartPropagator::insideTkVol ( const Plane plane) const

true if a plane is inside tracker volume

Definition at line 148 of file SmartPropagator.cc.

148  {
149  const GlobalPoint& gp = plane.position();
150  // LocalPoint lp = theTkVolume()->toLocal(gp);
151  // return theTkVolume()->bounds().inside(lp);
152  return ((gp.perp() <= TrackerBounds::radius() + 10.) && (fabs(gp.z()) <= TrackerBounds::halfLength() + 10.));
153 }

References runTauDisplay::gp, TrackerBounds::halfLength(), GloballyPositioned< T >::position(), and TrackerBounds::radius().

◆ insideTkVol() [4/4]

bool SmartPropagator::insideTkVol ( const Surface surface) const

true if a surface is inside tracker volume

Definition at line 133 of file SmartPropagator.cc.

133  {
134  const GlobalPoint& gp = surface.position();
135  // LocalPoint lp = theTkVolume()->toLocal(gp);
136 
137  // return theTkVolume()->bounds().inside(lp);
138  return ((gp.perp() <= TrackerBounds::radius() + 10.) && (fabs(gp.z()) <= TrackerBounds::halfLength() + 10.));
139 }

References runTauDisplay::gp, TrackerBounds::halfLength(), GloballyPositioned< T >::position(), and TrackerBounds::radius().

◆ magneticField()

const MagneticField* SmartPropagator::magneticField ( ) const
inlineoverridevirtual

return the magneticField

Implements Propagator.

Definition at line 100 of file SmartPropagator.h.

100 { return theField; }

References theField.

Referenced by clone().

◆ 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

Definition at line 50 of file Propagator.h.

50  {
51  return propagateWithPath(state, surface).first;
52  }

Referenced by GlobalTrackerMuonAlignment::analyzeTrackTrack(), and GlobalTrackerMuonAlignment::analyzeTrackTrajectory().

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

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

Implements Propagator.

Definition at line 98 of file SmartPropagator.cc.

99  {
100  if (insideTkVol(fts) && insideTkVol(cylinder)) {
101  return getTkPropagator()->propagateWithPath(fts, cylinder);
102  } else {
103  return getGenPropagator()->propagateWithPath(fts, cylinder);
104  }
105 }

References getGenPropagator(), getTkPropagator(), insideTkVol(), and Propagator::propagateWithPath().

◆ propagateWithPath() [5/13]

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

Implements Propagator.

Definition at line 89 of file SmartPropagator.cc.

90  {
91  if (insideTkVol(fts) && insideTkVol(plane)) {
92  return getTkPropagator()->propagateWithPath(fts, plane);
93  } else {
94  return getGenPropagator()->propagateWithPath(fts, plane);
95  }
96 }

References getGenPropagator(), getTkPropagator(), insideTkVol(), and Propagator::propagateWithPath().

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

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() [10/13]

std::pair< TrajectoryStateOnSurface, double > SmartPropagator::propagateWithPath ( const TrajectoryStateOnSurface tsos,
const Cylinder sur 
) const
overrideprivatevirtual

Reimplemented from Propagator.

Definition at line 116 of file SmartPropagator.cc.

117  {
118  if (insideTkVol(*fts.freeState()) && insideTkVol(cylinder)) {
119  return getTkPropagator()->propagateWithPath(fts, cylinder);
120  } else {
121  return getGenPropagator()->propagateWithPath(fts, cylinder);
122  }
123 }

References TrajectoryStateOnSurface::freeState(), getGenPropagator(), getTkPropagator(), insideTkVol(), and Propagator::propagateWithPath().

◆ propagateWithPath() [11/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() [12/13]

std::pair< TrajectoryStateOnSurface, double > SmartPropagator::propagateWithPath ( const TrajectoryStateOnSurface tsos,
const Plane sur 
) const
overrideprivatevirtual

Reimplemented from Propagator.

Definition at line 107 of file SmartPropagator.cc.

108  {
109  if (insideTkVol(*fts.freeState()) && insideTkVol(plane)) {
110  return getTkPropagator()->propagateWithPath(fts, plane);
111  } else {
112  return getGenPropagator()->propagateWithPath(fts, plane);
113  }
114 }

References TrajectoryStateOnSurface::freeState(), getGenPropagator(), getTkPropagator(), insideTkVol(), and Propagator::propagateWithPath().

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

◆ setPropagationDirection()

void SmartPropagator::setPropagationDirection ( PropagationDirection  dir)
inlineoverridevirtual

setting the direction fo both components

Reimplemented from Propagator.

Definition at line 63 of file SmartPropagator.h.

References DeadROC_duringRun::dir, Propagator::setPropagationDirection(), theGenProp, and theTkProp.

Member Data Documentation

◆ theField

const MagneticField* SmartPropagator::theField
private

Definition at line 108 of file SmartPropagator.h.

Referenced by magneticField().

◆ theGenProp

Propagator* SmartPropagator::theGenProp
private

◆ theTkProp

Propagator* SmartPropagator::theTkProp
private

◆ theTkVolume

ReferenceCountingPointer<Cylinder> SmartPropagator::theTkVolume
private

Definition at line 109 of file SmartPropagator.h.

Referenced by initTkVolume().

TkRotation< float >
SmartPropagator::theGenProp
Propagator * theGenProp
Definition: SmartPropagator.h:107
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
SmartPropagator::theField
const MagneticField * theField
Definition: SmartPropagator.h:108
TrackerBounds::halfLength
static float halfLength()
Definition: TrackerBounds.h:33
PropagationException
Common base class.
Definition: PropagationExceptions.h:14
SmartPropagator::initTkVolume
void initTkVolume(float epsilon)
build the tracker volume
Definition: SmartPropagator.cc:73
pos
Definition: PixelAliasList.h:18
TrackerBounds::radius
static float radius()
Definition: TrackerBounds.h:32
FreeTrajectoryState::position
GlobalPoint position() const
Definition: FreeTrajectoryState.h:67
geometryDiff.epsilon
int epsilon
Definition: geometryDiff.py:26
SimpleCylinderBounds
Definition: SimpleCylinderBounds.h:19
SmartPropagator::getGenPropagator
const Propagator * getGenPropagator() const
return the propagator used outside tracker
Definition: SmartPropagator.cc:157
SmartPropagator::getTkPropagator
const Propagator * getTkPropagator() const
return the propagator used inside tracker
Definition: SmartPropagator.cc:155
Propagator::propagationDirection
virtual PropagationDirection propagationDirection() const final
Definition: Propagator.h:139
Point3DBase< float, GlobalTag >
Propagator::setPropagationDirection
virtual void setPropagationDirection(PropagationDirection dir)
Definition: Propagator.h:130
runTauDisplay.gp
gp
Definition: runTauDisplay.py:431
SmartPropagator::propagateWithPath
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &fts, const Plane &plane) const override
Definition: SmartPropagator.cc:89
SmartPropagator::theTkProp
Propagator * theTkProp
Definition: SmartPropagator.h:106
Cylinder::build
static CylinderPointer build(const PositionType &pos, const RotationType &rot, Scalar radius, Bounds *bounds=nullptr)
Definition: Cylinder.h:45
SmartPropagator::SmartPropagator
SmartPropagator(const Propagator *aTkProp, const Propagator *aGenProp, const MagneticField *field, PropagationDirection dir=alongMomentum, float epsilon=5)
Defines which propagator is used inside Tk and which outside.
Definition: SmartPropagator.cc:36
SmartPropagator::theTkVolume
ReferenceCountingPointer< Cylinder > theTkVolume
Definition: SmartPropagator.h:109
GloballyPositioned::position
const PositionType & position() const
Definition: GloballyPositioned.h:36
SmartPropagator::insideTkVol
bool insideTkVol(const FreeTrajectoryState &fts) const
true if a fts is inside tracker volume
Definition: SmartPropagator.cc:125
Propagator::clone
virtual Propagator * clone() const =0
Exception
Definition: hltDiff.cc:246
Plane
Definition: Plane.h:16
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
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
Propagator::Propagator
Propagator(PropagationDirection dir=alongMomentum)
Definition: Propagator.h:46
SmartPropagator::magneticField
const MagneticField * magneticField() const override
return the magneticField
Definition: SmartPropagator.h:100