CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
RKTestPropagator Class Reference

#include <RKTestPropagator.h>

Inheritance diagram for RKTestPropagator:
Propagator

Public Member Functions

Propagatorclone () const
 
virtual const MagneticFieldmagneticField () const
 
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &state, const Plane &plane) const
 
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &state, const Cylinder &cyl) const
 
TrajectoryStateOnSurface propagate (const TrajectoryStateOnSurface &ts, const Plane &plane) const
 
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const FreeTrajectoryState &state, const Plane &plane) const
 
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const FreeTrajectoryState &state, const Cylinder &cyl) const
 
virtual PropagationDirection propagationDirection () const
 
 RKTestPropagator (const MagneticField *field, PropagationDirection dir=alongMomentum, double tolerance=5.e-5)
 
virtual void setPropagationDirection (PropagationDirection dir) const
 
- Public Member Functions inherited from Propagator
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &, const Surface &) const
 
virtual TrajectoryStateOnSurface propagate (const TrajectoryStateOnSurface &, const Surface &) const
 
virtual TrajectoryStateOnSurface propagate (const TrajectoryStateOnSurface &, const Cylinder &) const
 
virtual FreeTrajectoryState propagate (const FreeTrajectoryState &, const reco::BeamSpot &) const
 
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const FreeTrajectoryState &, const Surface &) const
 
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const TrajectoryStateOnSurface &, const Surface &) const
 
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const TrajectoryStateOnSurface &, const Plane &) const
 
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const TrajectoryStateOnSurface &, const Cylinder &) const
 
virtual std::pair
< FreeTrajectoryState, double > 
propagateWithPath (const FreeTrajectoryState &, const GlobalPoint &, const GlobalPoint &) const
 
 Propagator (PropagationDirection dir=alongMomentum)
 
virtual bool setMaxDirectionChange (float phiMax)
 
virtual ~Propagator ()
 

Private Attributes

RKTestFieldProvider RKField
 
RKTestMagVolume RKVol
 
const MagneticFieldtheRealField
 
DeepCopyPointerByClone
< Propagator
theRKProp
 
float theTolerance
 

Detailed Description

Definition at line 65 of file RKTestPropagator.h.

Constructor & Destructor Documentation

RKTestPropagator::RKTestPropagator ( const MagneticField field,
PropagationDirection  dir = alongMomentum,
double  tolerance = 5.e-5 
)
inlineexplicit

Definition at line 70 of file RKTestPropagator.h.

Referenced by clone().

71  :
72  theTolerance(tolerance),
73  theRealField(field),
74  RKField(field),
76  theRKProp(new RKPropagatorInS(RKVol, dir, tolerance)) {}
const MagneticField * theRealField
RKTestMagVolume RKVol
DeepCopyPointerByClone< Propagator > theRKProp
dbl *** dir
Definition: mlp_gen.cc:35
RKTestFieldProvider RKField

Member Function Documentation

Propagator* RKTestPropagator::clone ( void  ) const
inlinevirtual

Implements Propagator.

Definition at line 104 of file RKTestPropagator.h.

References magneticField(), propagationDirection(), RKTestPropagator(), and theTolerance.

105  {
106 
108 
109  }
virtual PropagationDirection propagationDirection() const
RKTestPropagator(const MagneticField *field, PropagationDirection dir=alongMomentum, double tolerance=5.e-5)
virtual const MagneticField * magneticField() const
virtual const MagneticField* RKTestPropagator::magneticField ( ) const
inlinevirtual

Implements Propagator.

Definition at line 111 of file RKTestPropagator.h.

References theRealField.

Referenced by clone().

111 { return theRealField;}
const MagneticField * theRealField
virtual TrajectoryStateOnSurface RKTestPropagator::propagate ( const FreeTrajectoryState state,
const Plane plane 
) const
inlinevirtual

Implements Propagator.

Definition at line 79 of file RKTestPropagator.h.

References Propagator::propagate(), and theRKProp.

79 {return theRKProp->propagate(state,plane);}
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:12
DeepCopyPointerByClone< Propagator > theRKProp
virtual TrajectoryStateOnSurface RKTestPropagator::propagate ( const FreeTrajectoryState state,
const Cylinder cyl 
) const
inlinevirtual

Implements Propagator.

Definition at line 82 of file RKTestPropagator.h.

References Propagator::propagate(), and theRKProp.

82  {
83  return theRKProp->propagate(state,cyl);}
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:12
DeepCopyPointerByClone< Propagator > theRKProp
TrajectoryStateOnSurface RKTestPropagator::propagate ( const TrajectoryStateOnSurface ts,
const Plane plane 
) const
inlinevirtual

Reimplemented from Propagator.

Definition at line 92 of file RKTestPropagator.h.

References Propagator::propagate(), and theRKProp.

93  {return theRKProp->propagate(ts,plane);}
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:12
DeepCopyPointerByClone< Propagator > theRKProp
virtual std::pair< TrajectoryStateOnSurface, double> RKTestPropagator::propagateWithPath ( const FreeTrajectoryState state,
const Plane plane 
) const
inlinevirtual

Implements Propagator.

Definition at line 86 of file RKTestPropagator.h.

References Propagator::propagateWithPath(), and theRKProp.

86  {
87  return theRKProp->propagateWithPath(state,plane);}
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:77
DeepCopyPointerByClone< Propagator > theRKProp
virtual std::pair< TrajectoryStateOnSurface, double> RKTestPropagator::propagateWithPath ( const FreeTrajectoryState state,
const Cylinder cyl 
) const
inlinevirtual

Implements Propagator.

Definition at line 90 of file RKTestPropagator.h.

References Propagator::propagateWithPath(), and theRKProp.

90 {return theRKProp->propagateWithPath(state,cyl);}
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:77
DeepCopyPointerByClone< Propagator > theRKProp
virtual PropagationDirection RKTestPropagator::propagationDirection ( void  ) const
inlinevirtual

Returns the current value of the propagation direction. If you need to know the actual direction used for a given propagation in case "propagationDirection() == anyDirection", you should use propagateWithPath. A positive sign of path lengt means "alongMomentum", an egeative sign means "oppositeToMomentum".

Reimplemented from Propagator.

Definition at line 99 of file RKTestPropagator.h.

References Propagator::propagationDirection(), and theRKProp.

Referenced by clone().

99  {
101  }
virtual PropagationDirection propagationDirection() const
Definition: Propagator.h:143
DeepCopyPointerByClone< Propagator > theRKProp
virtual void RKTestPropagator::setPropagationDirection ( PropagationDirection  dir) const
inlinevirtual

The propagation direction can now be set for every propagator. There is no more distinction between unidirectional and bidirectional at class level. The value "anyDiriction" for PropagationDirection provides the functionality of the ex-BidirectionalPropagator. The values "alongMomentum" and "oppositeToMomentum" provide the functionality of the ex-UnidirectionalPropagator.

Reimplemented from Propagator.

Definition at line 95 of file RKTestPropagator.h.

References Propagator::setPropagationDirection(), and theRKProp.

95  {
97  }
DeepCopyPointerByClone< Propagator > theRKProp
virtual void setPropagationDirection(PropagationDirection dir) const
Definition: Propagator.h:132
dbl *** dir
Definition: mlp_gen.cc:35

Member Data Documentation

RKTestFieldProvider RKTestPropagator::RKField
private

Definition at line 117 of file RKTestPropagator.h.

RKTestMagVolume RKTestPropagator::RKVol
private

Definition at line 118 of file RKTestPropagator.h.

const MagneticField* RKTestPropagator::theRealField
private

Definition at line 116 of file RKTestPropagator.h.

Referenced by magneticField().

DeepCopyPointerByClone<Propagator> RKTestPropagator::theRKProp
private
float RKTestPropagator::theTolerance
private

Definition at line 115 of file RKTestPropagator.h.

Referenced by clone().