#include <MaterialEffectsUpdator.h>
Public Member Functions | |
virtual MaterialEffectsUpdator * | clone () const =0 |
virtual const AlgebraicSymMatrix55 & | deltaLocalError (const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const |
virtual double | deltaP (const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const |
double | mass () const |
MaterialEffectsUpdator (double mass) | |
virtual TrajectoryStateOnSurface | updateState (const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const |
virtual bool | updateStateInPlace (TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const |
virtual | ~MaterialEffectsUpdator () |
Protected Attributes | |
AlgebraicSymMatrix55 | theDeltaCov |
double | theDeltaP |
Static Protected Attributes | |
static AlgebraicSymMatrix55 | theNullMatrix |
Private Member Functions | |
virtual void | compute (const TrajectoryStateOnSurface &, const PropagationDirection) const dso_internal=0 |
bool | newArguments (const TrajectoryStateOnSurface &TSoS, PropagationDirection propDir) const dso_internal |
Private Attributes | |
double | theLastDxdz |
double | theLastOverP |
PropagationDirection | theLastPropDir |
float | theLastRL |
double | theMass |
Interface for adding material effects during propagation. Updates to TrajectoryStateOnSurface are implemented in this class. Ported from ORCA.
Definition at line 20 of file MaterialEffectsUpdator.h.
MaterialEffectsUpdator::MaterialEffectsUpdator | ( | double | mass | ) |
Constructor with explicit mass hypothesis
Definition at line 13 of file MaterialEffectsUpdator.cc.
|
virtual |
Definition at line 22 of file MaterialEffectsUpdator.cc.
|
pure virtual |
Implemented in EnergyLossUpdator, CombinedMaterialEffectsUpdator, and MultipleScatteringUpdator.
|
privatepure virtual |
Implemented in MultipleScatteringUpdator, CombinedMaterialEffectsUpdator, and EnergyLossUpdator.
Referenced by deltaLocalError(), and deltaP().
|
virtual |
Contribution to covariance matrix (in local co-ordinates) from material effects.
Definition at line 48 of file MaterialEffectsUpdator.cc.
References compute(), Surface::mediumProperties(), newArguments(), TrajectoryStateOnSurface::surface(), theDeltaCov, and theNullMatrix.
Referenced by GsfMaterialEffectsAdapter::compute(), CombinedMaterialEffectsUpdator::compute(), and updateStateInPlace().
|
virtual |
Change in |p| from material effects.
Reimplemented in MultipleScatteringUpdator.
Definition at line 37 of file MaterialEffectsUpdator.cc.
References compute(), Surface::mediumProperties(), newArguments(), TrajectoryStateOnSurface::surface(), and theDeltaP.
Referenced by GsfMaterialEffectsAdapter::compute(), CombinedMaterialEffectsUpdator::compute(), and updateStateInPlace().
|
inline |
Particle mass assigned at construction.
Definition at line 56 of file MaterialEffectsUpdator.h.
References theMass.
Referenced by EnergyLossUpdator::compute(), MultipleScatteringUpdator::compute(), and EnergyLossUpdator::computeBetheBloch().
|
private |
Definition at line 101 of file MaterialEffectsUpdator.cc.
References LocalTrajectoryParameters::dxdz(), TrajectoryStateOnSurface::localParameters(), Surface::mediumProperties(), convertSQLiteXML::ok, LocalTrajectoryParameters::qbp(), MediumProperties::radLen(), TrajectoryStateOnSurface::surface(), theLastDxdz, theLastOverP, theLastPropDir, and theLastRL.
Referenced by deltaLocalError(), and deltaP().
|
virtual |
Updates TrajectoryStateOnSurface with material effects (momentum and covariance matrix are potentially affected.
Definition at line 27 of file MaterialEffectsUpdator.cc.
References updateStateInPlace().
|
virtual |
Updates in place TrajectoryStateOnSurface with material effects (momentum and covariance matrix are potentially affected) Will return 'false' if the 'updateState' would have returned an invalid TSOS Note that the TSoS might be very well unchanged from this method (just like 'updateState' can return the same TSOS)
Definition at line 62 of file MaterialEffectsUpdator.cc.
References SurfaceSideDefinition::afterSurface, alongMomentum, anyDirection, SurfaceSideDefinition::atCenterOfSurface, SurfaceSideDefinition::beforeSurface, deltaLocalError(), deltaP(), TrajectoryStateOnSurface::globalParameters(), TrajectoryStateOnSurface::hasError(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localParameters(), GlobalTrajectoryParameters::magneticField(), LocalTrajectoryError::matrix(), Surface::mediumProperties(), oppositeToMomentum, TrajectoryStateOnSurface::surface(), TrajectoryStateOnSurface::surfaceSide(), TrajectoryStateOnSurface::update(), and LocalTrajectoryParameters::updateP().
Referenced by PropagatorWithMaterial::propagateWithPath(), and updateState().
|
mutableprotected |
Definition at line 81 of file MaterialEffectsUpdator.h.
Referenced by EnergyLossUpdator::compute(), CombinedMaterialEffectsUpdator::compute(), MultipleScatteringUpdator::compute(), EnergyLossUpdator::computeBetheBloch(), EnergyLossUpdator::computeElectrons(), and deltaLocalError().
|
mutableprotected |
Definition at line 80 of file MaterialEffectsUpdator.h.
Referenced by EnergyLossUpdator::compute(), CombinedMaterialEffectsUpdator::compute(), EnergyLossUpdator::computeBetheBloch(), EnergyLossUpdator::computeElectrons(), and deltaP().
|
mutableprivate |
Definition at line 74 of file MaterialEffectsUpdator.h.
Referenced by newArguments().
|
mutableprivate |
Definition at line 73 of file MaterialEffectsUpdator.h.
Referenced by newArguments().
|
mutableprivate |
Definition at line 76 of file MaterialEffectsUpdator.h.
Referenced by newArguments().
|
mutableprivate |
Definition at line 75 of file MaterialEffectsUpdator.h.
Referenced by newArguments().
|
private |
Definition at line 70 of file MaterialEffectsUpdator.h.
Referenced by mass().
|
staticprotected |
Definition at line 82 of file MaterialEffectsUpdator.h.
Referenced by deltaLocalError().