11 Propagator(aPropagator.propagationDirection()),
14 theMaterialLocation(atDestination)
21 Propagator(aGsfPropagator.propagationDirection()),
22 theGeometricalPropagator(aGsfPropagator.
clone()),
23 theConvolutor(aConvolutor.
clone()),
24 theMaterialLocation(atDestination)
49 std::pair<TrajectoryStateOnSurface,double>
51 const Plane& plane)
const {
61 if ( !stateAtSource.
isValid() )
return TsosWP(stateAtSource,0.);
66 if ( !(propStateWP.first).isValid() )
return propStateWP;
73 std::pair<TrajectoryStateOnSurface,double>
85 if ( !stateAtSource.
isValid() )
return TsosWP(stateAtSource,0.);
90 if ( !(propStateWP.first).isValid() )
return propStateWP;
97 std::pair<TrajectoryStateOnSurface,double>
99 const Plane& plane)
const {
103 <<
"GsfPropagatorWithMaterial used from FTS: input state might have been collapsed!";
105 if ( !(propStateWP.first).isValid() ||
materialAtSource() )
return propStateWP;
112 std::pair<TrajectoryStateOnSurface,double>
118 <<
"GsfPropagatorWithMaterial used from FTS: input state might have been collapsed!";
120 if ( !(propStateWP.first).isValid() ||
materialAtSource() )
return propStateWP;
133 std::pair<TrajectoryStateOnSurface,double>
142 aStateWithPath.second);
160 <<
"PropagatorWithMaterial: propagation direction = anyDirection is "
161 <<
"incompatible with adding of material at source";
virtual PropagationDirection propagationDirection() const
virtual void setPropagationDirection(PropagationDirection dir) const
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Surface &surface) const
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const TrajectoryStateOnSurface &tsos, const Surface &surface) const
TrajectoryStateOnSurface convoluteStateWithMaterial(const TrajectoryStateOnSurface, const PropagationDirection) const
Convolution of state with material effects.
std::pair< TrajectoryStateOnSurface, double > TsosWP
GsfPropagatorWithMaterial(const Propagator &Propagator, const GsfMaterialEffectsUpdator &MEUpdator)
std::pair< TrajectoryStateOnSurface, double > convoluteWithMaterial(const std::pair< TrajectoryStateOnSurface, double > &) const
Convolution of state+path with material effects.
MaterialLocation theMaterialLocation
bool materialAtSource() const
Inclusion of material at the source?
DeepCopyPointerByClone< GsfPropagatorAdapter > theGeometricalPropagator
virtual void setPropagationDirection(PropagationDirection dir) const
DeepCopyPointerByClone< FullConvolutionWithMaterial > theConvolutor
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
virtual void setPropagationDirection(PropagationDirection dir) const