18 bool useOldAnalPropLogic)
24 theMaterialLocation(atDestination),
26 useRungeKutta_(useRungeKutta) {}
29 const Plane& plane)
const {
53 const Plane& plane)
const {
57 TsosWP newTsosWP(tsos, 0.);
63 if UNLIKELY (!newTsosWP.first.isValid())
86 TsosWP newTsosWP(tsos, 0.);
92 if UNLIKELY (!newTsosWP.first.isValid())
118 "PropagatorWithMaterial: propagation direction = anyDirection is incompatible with adding of "
119 "material at source");
std::pair< TrajectoryStateOnSurface, double > TsosWP
virtual void setPropagationDirection(PropagationDirection dir)
bool materialAtSource() const
Inclusion of material at the source?
~PropagatorWithMaterial() override
virtual PropagationDirection propagationDirection() const final
virtual bool updateStateInPlace(TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
PropagatorWithMaterial(PropagationDirection dir, const float mass, const MagneticField *mf=nullptr, const float maxDPhi=1.6, bool useRungeKutta=false, float ptMin=-1., bool useOldGeoPropLogic=true)
DeepCopyPointerByClone< MaterialEffectsUpdator > theMEUpdator
DeepCopyPointerByClone< Propagator > theGeometricalPropagator
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
MaterialLocation theMaterialLocation
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
void setPropagationDirection(PropagationDirection dir) override
Propagation direction.
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Plane &plane) const override
tuple AnalyticalPropagator