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
Propagator Class Referenceabstract

#include <Propagator.h>

Inheritance diagram for Propagator:
GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GsfPropagatorAdapter GsfPropagatorWithMaterial

Public Member Functions

virtual Propagatorclone () const =0
 
virtual const MagneticFieldmagneticField () const =0
 
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &, const Surface &) const
 
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &, const Plane &) const =0
 
virtual TrajectoryStateOnSurface propagate (const FreeTrajectoryState &, const Cylinder &) const =0
 
virtual TrajectoryStateOnSurface propagate (const TrajectoryStateOnSurface &, const Surface &) const
 
virtual TrajectoryStateOnSurface propagate (const TrajectoryStateOnSurface &, const Plane &) 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 FreeTrajectoryState &, const Plane &) const =0
 
virtual std::pair
< TrajectoryStateOnSurface,
double > 
propagateWithPath (const FreeTrajectoryState &, const Cylinder &) const =0
 
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
 
virtual PropagationDirection propagationDirection () const GCC11_FINAL
 
 Propagator (PropagationDirection dir=alongMomentum)
 
virtual bool setMaxDirectionChange (float phiMax)
 
virtual void setPropagationDirection (PropagationDirection dir) const
 
virtual ~Propagator ()
 

Private Attributes

PropagationDirection theDir
 

Detailed Description

Basic tool for "propagation" of trajectory states to surfaces. If the starting state has an error matrix the errors will be also propagated. If you want to propagate just the parameters, construct a starting state that does not have errors. In case of propagation failure (e.g. when the trajectory does not cross the destination surface) and invalid state is returned. Always check the returned state with isValid() before using it!

The propagation can be "alongMomentum" or "oppositeToMomentum" (see setPropagationDirection() below). The difference between the two is the sign of energy loss: the trajectory momentum decreases "alongMomentum" and increases "oppositeToMomentum". In both directions extrapolation errors and multiple scattering errors increase. Propagation "oppositeToMomentum" is convenient for fitting a track "backwards", sterting from the last measurement.

The propagator interface promises to take you to "any surface" but you should check the concrete propagator you are using for additional limitations.

Definition at line 40 of file Propagator.h.

Constructor & Destructor Documentation

Propagator::Propagator ( PropagationDirection  dir = alongMomentum)
inline

Definition at line 43 of file Propagator.h.

43  :
44  theDir(dir) {}
PropagationDirection theDir
Definition: Propagator.h:167
dbl *** dir
Definition: mlp_gen.cc:35
Propagator::~Propagator ( )
virtual

Definition at line 9 of file Propagator.cc.

9 {}

Member Function Documentation

virtual Propagator* Propagator::clone ( ) const
pure virtual

Implemented in GsfPropagatorWithMaterial, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GsfPropagatorAdapter, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.

Referenced by MuonSimHitProducer::beginRun(), TrajectoryExtrapolatorToLine::extrapolate(), PerigeeRefittedTrackState::trajectoryStateOnSurface(), and KinematicRefittedTrackState::trajectoryStateOnSurface().

virtual const MagneticField* Propagator::magneticField ( ) const
pure virtual
TrajectoryStateOnSurface Propagator::propagate ( const FreeTrajectoryState state,
const Surface sur 
) const
virtual

Propagate from a free state (e.g. position and momentum in in global cartesian coordinates) to a surface.Only use the generic method if the surface type (plane or cylinder) is not known at the calling point.

Reimplemented in GsfPropagatorWithMaterial, GCC11_FINAL< T, TOPO >, GsfPropagatorAdapter, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.

Definition at line 12 of file Propagator.cc.

Referenced by CRackTrajectoryBuilder::AddHit(), CkfDebugger::analyseCompatibleMeasurements(), CkfDebugger::analyseRecHitExistance(), MuonAlignmentAnalyzer::analyze(), TestTrackHits::analyze(), MuonAlignment::analyze(), CosmicMuonTrajectoryBuilder::build(), SeedFromGenericPairOrTriplet::buildSeed(), SeedFromConsecutiveHitsCreator::buildSeed(), SeedForPhotonConversion1Leg::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeedBool(), ForwardDetLayer::compatible(), MuDetRing::compatible(), BarrelDetLayer::compatible(), MuDetRod::compatible(), MuRingForwardDoubleLayer::compatible(), TrackEfficiencyMonitor::compatibleLayers(), CkfDebugger::computePulls(), SeedFromNuclearInteraction::construct(), OutInConversionSeedFinder::createSeed(), InOutConversionSeedFinder::createSeed(), TransverseImpactPointExtrapolator::doExtrapolation(), CSCPairResidualsConstraint::dphidzFromTrack(), PropagateToMuon::extrapolate(), AnalyticalImpactPointExtrapolator::extrapolateFullState(), AnalyticalTrajectoryExtrapolatorToLine::extrapolateFullState(), InOutConversionSeedFinder::fillClusterSeeds(), GsfTrackProducerBase::fillMode(), HLTMuonPointingFilter::filter(), SETFilter::findChi2(), TrackEfficiencyMonitor::findNextLayer(), CosmicMuonSmoother::fit(), MuonRoadTrajectoryBuilder::GatherHits(), HDetIdAssociator::getTrajectory(), SeedFromProtoTrack::init(), CosmicMuonTrajectoryBuilder::intermediateState(), GeomDetCompatibilityChecker::isCompatible(), MuonRoadTrajectoryBuilder::makeTrajectories_0(), StateOnTrackerBound::operator()(), GsfPropagatorAdapter::propagate(), GsfPropagatorWithMaterial::propagate(), GCC11_FINAL< T, TOPO >::propagate(), CachedTrajectory::propagate(), propagate(), MuonTrajectoryUpdator::propagateState(), TrackExtrapolator::propagateTrackToVolume(), BaseCkfTrajectoryBuilder::seedMeasurements(), SimpleCosmicBONSeeder::seeds(), CosmicMuonSmoother::smooth(), CosmicMuonUtilities::stepPropagate(), TrackEfficiencyMonitor::trackerAcceptance(), TrajectoryAtInvalidHit::TrajectoryAtInvalidHit(), and SETFilter::transform().

14 {
15  // try plane first, most probable case (disk "is a" plane too)
16  const Plane* bp = dynamic_cast<const Plane*>(&sur);
17  if (bp != 0) return propagate( state, *bp);
18 
19  // if not plane try cylinder
20  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
21  if (bc != 0) return propagate( state, *bc);
22 
23  // unknown surface - can't do it!
24  throw PropagationException("The surface is neither Cylinder nor Plane");
25 }
Definition: Plane.h:17
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:12
virtual TrajectoryStateOnSurface Propagator::propagate ( const FreeTrajectoryState ,
const Plane  
) const
pure virtual
virtual TrajectoryStateOnSurface Propagator::propagate ( const FreeTrajectoryState ,
const Cylinder  
) const
pure virtual
TrajectoryStateOnSurface Propagator::propagate ( const TrajectoryStateOnSurface state,
const Surface sur 
) const
virtual

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.

Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GsfPropagatorWithMaterial, and GsfPropagatorAdapter.

Definition at line 28 of file Propagator.cc.

References propagate().

30 {
31  // exactly same code as for FreeTrajectoryState
32 
33  // try plane first, most probable case (disk "is a" plane too)
34  const Plane* bp = dynamic_cast<const Plane*>(&sur);
35  if (bp != 0) return propagate( state, *bp);
36 
37  // if not plane try cylinder
38  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
39  if (bc != 0) return propagate( state, *bc);
40 
41  // unknown surface - can't do it!
42  throw PropagationException("The surface is neither Cylinder nor Plane");
43 }
Definition: Plane.h:17
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:12
TrajectoryStateOnSurface Propagator::propagate ( const TrajectoryStateOnSurface tsos,
const Plane sur 
) const
virtual

Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GsfPropagatorWithMaterial, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GsfPropagatorAdapter.

Definition at line 49 of file Propagator.cc.

References alignCSCRings::e, TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalPosition(), propagate(), GloballyPositioned< T >::toLocal(), and detailsBasic3DVector::z.

51 {
52  // Protect against null propagations
53  if (fabs(sur.toLocal(tsos.globalPosition()).z())<1e-5) {
54  // Still have to tarnsform the r.f.!
55  return TrajectoryStateOnSurface(*tsos.freeState(), sur);
56  }
57  return propagate( *tsos.freeState(), sur);
58 }
GlobalPoint globalPosition() const
float float float z
LocalPoint toLocal(const GlobalPoint &gp) const
FreeTrajectoryState const * freeState(bool withErrors=true) const
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:12
TrajectoryStateOnSurface Propagator::propagate ( const TrajectoryStateOnSurface tsos,
const Cylinder sur 
) const
virtual

Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GsfPropagatorWithMaterial, GCC11_FINAL< T, TOPO >, and GsfPropagatorAdapter.

Definition at line 63 of file Propagator.cc.

References TrajectoryStateOnSurface::freeState(), and propagate().

65 {
66  return propagate( *tsos.freeState(), sur);
67 }
FreeTrajectoryState const * freeState(bool withErrors=true) const
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:12
FreeTrajectoryState Propagator::propagate ( const FreeTrajectoryState ftsStart,
const reco::BeamSpot beamSpot 
) const
virtual

Reimplemented in GCC11_FINAL< T, TOPO >.

Definition at line 70 of file Propagator.cc.

References edm::hlt::Exception.

71  {
72  throw cms::Exception("Propagator::propagate(FTS,beamSpot) not implemented");
73 }
std::pair< TrajectoryStateOnSurface, double > Propagator::propagateWithPath ( const FreeTrajectoryState state,
const Surface sur 
) const
virtual

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.

Reimplemented in GsfPropagatorWithMaterial, GsfPropagatorAdapter, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.

Definition at line 77 of file Propagator.cc.

Referenced by CSCTimingExtractor::fillTiming(), DTTimingExtractor::fillTiming(), MuonSimHitProducer::produce(), GCC11_FINAL< T, TOPO >::propagate(), ReferenceTrajectory::propagate(), CosmicGenFilterHelix::propagateToCutCylinder(), GsfPropagatorAdapter::propagateWithPath(), GsfPropagatorWithMaterial::propagateWithPath(), GCC11_FINAL< T, TOPO >::propagateWithPath(), and propagateWithPath().

79 {
80  // same code as above, only method name changes
81 
82  // try plane first, most probable case (disk "is a" plane too)
83  const Plane* bp = dynamic_cast<const Plane*>(&sur);
84  if (bp != 0) return propagateWithPath( state, *bp);
85 
86  // if not plane try cylinder
87  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
88  if (bc != 0) return propagateWithPath( state, *bc);
89 
90  // unknown surface - can't do it!
91  throw PropagationException("The surface is neither Cylinder nor Plane");
92 }
Definition: Plane.h:17
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:77
virtual std::pair< TrajectoryStateOnSurface, double> Propagator::propagateWithPath ( const FreeTrajectoryState ,
const Plane  
) const
pure virtual
virtual std::pair< TrajectoryStateOnSurface, double> Propagator::propagateWithPath ( const FreeTrajectoryState ,
const Cylinder  
) const
pure virtual
std::pair< TrajectoryStateOnSurface, double > Propagator::propagateWithPath ( const TrajectoryStateOnSurface state,
const Surface sur 
) const
virtual

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.

Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GsfPropagatorWithMaterial, and GsfPropagatorAdapter.

Definition at line 95 of file Propagator.cc.

References propagateWithPath().

97 {
98  // same code as above, only method name changes
99 
100  // try plane first, most probable case (disk "is a" plane too)
101  const Plane* bp = dynamic_cast<const Plane*>(&sur);
102  if (bp != 0) return propagateWithPath( state, *bp);
103 
104  // if not plane try cylinder
105  const Cylinder* bc = dynamic_cast<const Cylinder*>(&sur);
106  if (bc != 0) return propagateWithPath( state, *bc);
107 
108  // unknown surface - can't do it!
109  throw PropagationException("The surface is neither Cylinder nor Plane");
110 }
Definition: Plane.h:17
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:77
std::pair< TrajectoryStateOnSurface, double > Propagator::propagateWithPath ( const TrajectoryStateOnSurface tsos,
const Plane sur 
) const
virtual

Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GsfPropagatorWithMaterial, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GsfPropagatorAdapter.

Definition at line 115 of file Propagator.cc.

References TrajectoryStateOnSurface::freeState(), and propagateWithPath().

Referenced by propagateWithPath().

117 {
118  return propagateWithPath( *tsos.freeState(), sur);
119 }
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:77
FreeTrajectoryState const * freeState(bool withErrors=true) const
std::pair< TrajectoryStateOnSurface, double > Propagator::propagateWithPath ( const TrajectoryStateOnSurface tsos,
const Cylinder sur 
) const
virtual

Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GsfPropagatorWithMaterial, GCC11_FINAL< T, TOPO >, and GsfPropagatorAdapter.

Definition at line 124 of file Propagator.cc.

References TrajectoryStateOnSurface::freeState(), and propagateWithPath().

126 {
127  return propagateWithPath( *tsos.freeState(), sur);
128 }
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const
Definition: Propagator.cc:77
FreeTrajectoryState const * freeState(bool withErrors=true) const
std::pair< FreeTrajectoryState, double > Propagator::propagateWithPath ( const FreeTrajectoryState ftsStart,
const GlobalPoint pDest1,
const GlobalPoint pDest2 
) const
virtual

Definition at line 131 of file Propagator.cc.

References edm::hlt::Exception.

132  {
133  throw cms::Exception("Propagator::propagate(FTS,GlobalPoint,GlobalPoint) not implemented");
134 }
virtual PropagationDirection Propagator::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".

Definition at line 145 of file Propagator.h.

References theDir.

Referenced by GroupedCkfTrajectoryBuilder::advanceOneLayer(), LayerCrossingSide::barrelSide(), OutInConversionSeedFinder::completeSeed(), GsfPropagatorWithMaterial::convoluteWithMaterial(), LayerCrossingSide::endcapSide(), HLTMuonPointingFilter::filter(), TECLayer::groupedCompatibleDetsV(), GsfPropagatorWithMaterial::materialAtSource(), GsfPropagatorWithMaterial::propagateWithPath(), KalmanAlignmentTrackRefitter::refitSingleTracklet(), and OutInConversionSeedFinder::startSeed().

145  {
146  return theDir;
147  }
PropagationDirection theDir
Definition: Propagator.h:167
virtual bool Propagator::setMaxDirectionChange ( float  phiMax)
inlinevirtual

Set the maximal change of direction (integrated along the path) for any single propagation. If reaching of the destination surface requires change of direction that exceeds this value the Propagator returns an invalid state. For example, a track may reach a forward plane after many spirals, which may be undesirable for a track reconstructor. Setting this value to pi will force the propagation to fail. The default value is "no limit". The method returnd true if the concrete propagator respects the limit, false otherwise.

Reimplemented in GsfPropagatorWithMaterial, GsfPropagatorAdapter, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.

Definition at line 159 of file Propagator.h.

Referenced by GsfPropagatorAdapter::setMaxDirectionChange().

159 { return false;}
virtual void Propagator::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 in GsfPropagatorWithMaterial, GsfPropagatorAdapter, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.

Definition at line 134 of file Propagator.h.

References dir, and theDir.

Referenced by AnalyticalImpactPointExtrapolator::AnalyticalImpactPointExtrapolator(), TrackEfficiencyMonitor::compatibleLayers(), TrackEfficiencyMonitor::findNextLayer(), GCC11_FINAL< T, TOPO >::setPropagationDirection(), GsfPropagatorAdapter::setPropagationDirection(), GsfPropagatorWithMaterial::setPropagationDirection(), SetPropagationDirection::SetPropagationDirection(), TrackEfficiencyMonitor::trackerAcceptance(), TransverseImpactPointExtrapolator::TransverseImpactPointExtrapolator(), TSCBLBuilderWithPropagator::TSCBLBuilderWithPropagator(), and SetPropagationDirection::~SetPropagationDirection().

134  {
135  theDir = dir;
136  }
PropagationDirection theDir
Definition: Propagator.h:167
dbl *** dir
Definition: mlp_gen.cc:35

Member Data Documentation

PropagationDirection Propagator::theDir
mutableprivate

Definition at line 167 of file Propagator.h.

Referenced by propagationDirection(), and setPropagationDirection().