CMS 3D CMS Logo

RKTestPropagator Class Reference

#include <TrackPropagation/RungeKutta/interface/RKTestPropagator.h>

Inheritance diagram for RKTestPropagator:

Propagator

List of all members.

Public Member Functions

Propagatorclone () const
virtual const MagneticFieldmagneticField () const
TrajectoryStateOnSurface propagate (const TrajectoryStateOnSurface &ts, const Plane &plane) const
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &state, const Cylinder &cyl) const
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &state, const Plane &plane) const
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const FreeTrajectoryState &state, const Cylinder &cyl) const
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const FreeTrajectoryState &state, const Plane &plane) const
virtual PropagationDirection propagationDirection () const
 Returns the current value of the propagation direction.
 RKTestPropagator (const MagneticField *field, PropagationDirection dir=alongMomentum, double tolerance=5.e-5)
virtual void setPropagationDirection (PropagationDirection dir)
 The propagation direction can now be set for every 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 
) [inline, explicit]

Definition at line 70 of file RKTestPropagator.h.

Referenced by clone().

00071                                                        :
00072     theTolerance(tolerance),
00073     theRealField(field),
00074     RKField(field),
00075     RKVol(RKTestMagVolume(MagVolume::PositionType(0,0,0), MagVolume::RotationType(),ddshapeless, &RKField ) ),
00076     theRKProp(new RKPropagatorInS(RKVol, dir, tolerance)) {}  


Member Function Documentation

Propagator* RKTestPropagator::clone ( void   )  const [inline, virtual]

Implements Propagator.

Definition at line 104 of file RKTestPropagator.h.

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

00105     {
00106 
00107       return new RKTestPropagator(magneticField(),propagationDirection(),theTolerance);
00108 
00109     }

virtual const MagneticField* RKTestPropagator::magneticField (  )  const [inline, virtual]

Implements Propagator.

Definition at line 111 of file RKTestPropagator.h.

References theRealField.

Referenced by clone().

00111 { return theRealField;}

TrajectoryStateOnSurface RKTestPropagator::propagate ( const TrajectoryStateOnSurface ts,
const Plane plane 
) const [inline, virtual]

Reimplemented from Propagator.

Definition at line 92 of file RKTestPropagator.h.

References theRKProp.

00093                                                                {return theRKProp->propagate(ts,plane);}

virtual TrajectoryStateOnSurface RKTestPropagator::propagate ( const FreeTrajectoryState state,
const Cylinder cyl 
) const [inline, virtual]

Implements Propagator.

Definition at line 82 of file RKTestPropagator.h.

References theRKProp.

00082                                                                             {
00083     return theRKProp->propagate(state,cyl);}

virtual TrajectoryStateOnSurface RKTestPropagator::propagate ( const FreeTrajectoryState state,
const Plane plane 
) const [inline, virtual]

Implements Propagator.

Definition at line 79 of file RKTestPropagator.h.

References theRKProp.

00079 {return theRKProp->propagate(state,plane);}

virtual std::pair< TrajectoryStateOnSurface, double> RKTestPropagator::propagateWithPath ( const FreeTrajectoryState state,
const Cylinder cyl 
) const [inline, virtual]

Implements Propagator.

Definition at line 90 of file RKTestPropagator.h.

References theRKProp.

00090 {return theRKProp->propagateWithPath(state,cyl);}

virtual std::pair< TrajectoryStateOnSurface, double> RKTestPropagator::propagateWithPath ( const FreeTrajectoryState state,
const Plane plane 
) const [inline, virtual]

Implements Propagator.

Definition at line 86 of file RKTestPropagator.h.

References theRKProp.

00086                                                                                    {
00087     return theRKProp->propagateWithPath(state,plane);}

virtual PropagationDirection RKTestPropagator::propagationDirection ( void   )  const [inline, virtual]

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 theRKProp.

Referenced by clone().

00099                                                             {
00100     return theRKProp->propagationDirection();
00101   }

virtual void RKTestPropagator::setPropagationDirection ( PropagationDirection  dir  )  [inline, virtual]

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 theRKProp.

00095                                                                  {
00096     theRKProp->setPropagationDirection(dir);
00097   }


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]

Definition at line 119 of file RKTestPropagator.h.

Referenced by propagate(), propagateWithPath(), propagationDirection(), and setPropagationDirection().

float RKTestPropagator::theTolerance [private]

Definition at line 115 of file RKTestPropagator.h.

Referenced by clone().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:30:48 2009 for CMSSW by  doxygen 1.5.4