Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PropagationTests.hpp File Reference
+ Include dependency graph for PropagationTests.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ZCylinderSurfaceBuilder
 Construct a z-cylinder centered at zero with the track on its surface. More...
 
struct  DiscSurfaceBuilder
 Construct a disc at track position with plane normal along track tangent. More...
 
struct  PlaneSurfaceBuilder
 Construct a plane at track position with plane normal along track tangent. More...
 
struct  ZStrawSurfaceBuilder
 Construct a z-straw at the track position. More...
 

Functions

Acts::CurvilinearTrackParameters makeParametersCurvilinear (double phi, double theta, double absMom, double charge)
 Construct (initial) curvilinear parameters.
 
Acts::CurvilinearTrackParameters makeParametersCurvilinearWithCovariance (double phi, double theta, double absMom, double charge)
 Construct (initial) curvilinear parameters with covariance.
 
Acts::CurvilinearTrackParameters makeParametersCurvilinearNeutral (double phi, double theta, double absMom)
 Construct (initial) neutral curvilinear parameters.
 
void checkParametersConsistency (const Acts::BoundTrackParameters &cmp, const Acts::BoundTrackParameters &ref, const Acts::GeometryContext &geoCtx, double epsPos, double epsDir, double epsMom)
 
void checkCovarianceConsistency (const Acts::BoundTrackParameters &cmp, const Acts::BoundTrackParameters &ref, double relativeTolerance)
 
Acts::Transform3 makeCurvilinearTransform (const Acts::BoundTrackParameters &params, const Acts::GeometryContext &geoCtx)
 Construct the transformation from the curvilinear to the global coordinates.
 
template<typename propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
std::pair
< Acts::CurvilinearTrackParameters,
double
transportFreely (const propagator_t &propagator, const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, const Acts::CurvilinearTrackParameters &initialParams, double pathLength)
 
template<typename propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
std::pair
< Acts::BoundTrackParameters,
double
transportToSurface (const propagator_t &propagator, const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, const Acts::CurvilinearTrackParameters &initialParams, const Acts::Surface &targetSurface, double pathLimit)
 Propagate the initial parameters to the target surface.
 
template<typename propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runForwardBackwardTest (const propagator_t &propagator, const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, const Acts::CurvilinearTrackParameters &initialParams, double pathLength, double epsPos, double epsDir, double epsMom)
 
template<typename propagator_t , typename surface_builder_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runToSurfaceTest (const propagator_t &propagator, const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, const Acts::CurvilinearTrackParameters &initialParams, double pathLength, surface_builder_t &&buildTargetSurface, double epsPos, double epsDir, double epsMom)
 
template<typename cmp_propagator_t , typename ref_propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runForwardComparisonTest (const cmp_propagator_t &cmpPropagator, const ref_propagator_t &refPropagator, const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, const Acts::CurvilinearTrackParameters &initialParams, double pathLength, double epsPos, double epsDir, double epsMom, double tolCov)
 
template<typename cmp_propagator_t , typename ref_propagator_t , typename surface_builder_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runToSurfaceComparisonTest (const cmp_propagator_t &cmpPropagator, const ref_propagator_t &refPropagator, const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, const Acts::CurvilinearTrackParameters &initialParams, double pathLength, surface_builder_t &&buildTargetSurface, double epsPos, double epsDir, double epsMom, double tolCov)
 

Function Documentation

void checkCovarianceConsistency ( const Acts::BoundTrackParameters cmp,
const Acts::BoundTrackParameters ref,
double  relativeTolerance 
)
inline

Check that two parameters covariances are consistent within the tolerances.

Warning
Does not check that the parameters value itself are consistent.

Definition at line 140 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 140 of file PropagationTests.hpp

References CHECK_CLOSE_COVARIANCE, and Acts::GenericBoundTrackParameters< particle_hypothesis_t >::covariance().

Referenced by runForwardComparisonTest(), and runToSurfaceComparisonTest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void checkParametersConsistency ( const Acts::BoundTrackParameters cmp,
const Acts::BoundTrackParameters ref,
const Acts::GeometryContext geoCtx,
double  epsPos,
double  epsDir,
double  epsMom 
)
inline

Check that two parameters object are consistent within the tolerances.

Warning
Does not check that they are defined on the same surface.

Definition at line 106 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 106 of file PropagationTests.hpp

References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::absoluteMomentum(), Acts::GenericBoundTrackParameters< particle_hypothesis_t >::charge(), CHECK_CLOSE_ABS, CHECK_SMALL, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::direction(), Acts::GenericBoundTrackParameters< particle_hypothesis_t >::position(), Acts::detail::radian_sym(), and Acts::GenericBoundTrackParameters< particle_hypothesis_t >::time().

Referenced by runForwardBackwardTest(), runForwardComparisonTest(), and runToSurfaceComparisonTest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Acts::Transform3 makeCurvilinearTransform ( const Acts::BoundTrackParameters params,
const Acts::GeometryContext geoCtx 
)
inline

Construct the transformation from the curvilinear to the global coordinates.

Definition at line 161 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 161 of file PropagationTests.hpp

References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::direction(), Acts::makeCurvilinearUnitVectors(), offset, and Acts::GenericBoundTrackParameters< particle_hypothesis_t >::position().

Referenced by DiscSurfaceBuilder::operator()(), and PlaneSurfaceBuilder::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Acts::CurvilinearTrackParameters makeParametersCurvilinear ( double  phi,
double  theta,
double  absMom,
double  charge 
)
inline

Construct (initial) curvilinear parameters.

Definition at line 29 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 29 of file PropagationTests.hpp

References particleHypothesis, Acts::ParticleHypothesis::pionLike(), and Acts::Test::pos4().

Referenced by BOOST_DATA_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Acts::CurvilinearTrackParameters makeParametersCurvilinearNeutral ( double  phi,
double  theta,
double  absMom 
)
inline

Construct (initial) neutral curvilinear parameters.

Definition at line 85 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 85 of file PropagationTests.hpp

References Acts::ParticleHypothesis::pion0(), and Acts::Test::pos4().

+ Here is the call graph for this function:

Acts::CurvilinearTrackParameters makeParametersCurvilinearWithCovariance ( double  phi,
double  theta,
double  absMom,
double  charge 
)
inline

Construct (initial) curvilinear parameters with covariance.

Definition at line 48 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 48 of file PropagationTests.hpp

References corr, Acts::Test::cov, Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eBoundTime, particleHypothesis, Acts::ParticleHypothesis::pionLike(), and Acts::Test::pos4().

Referenced by BOOST_DATA_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runForwardBackwardTest ( const propagator_t &  propagator,
const Acts::GeometryContext geoCtx,
const Acts::MagneticFieldContext magCtx,
const Acts::CurvilinearTrackParameters initialParams,
double  pathLength,
double  epsPos,
double  epsDir,
double  epsMom 
)
inline

Propagate the initial parameters the given path length along its trajectory and then propagate the final parameters back. Verify that the propagated parameters match the initial ones.

Definition at line 296 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 296 of file PropagationTests.hpp

References CHECK_CLOSE_ABS, checkParametersConsistency(), geoCtx, magCtx, and ActsTests::PropagationDatasets::pathLength.

Referenced by BOOST_DATA_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename cmp_propagator_t , typename ref_propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runForwardComparisonTest ( const cmp_propagator_t &  cmpPropagator,
const ref_propagator_t &  refPropagator,
const Acts::GeometryContext geoCtx,
const Acts::MagneticFieldContext magCtx,
const Acts::CurvilinearTrackParameters initialParams,
double  pathLength,
double  epsPos,
double  epsDir,
double  epsMom,
double  tolCov 
)
inline

Propagate the initial parameters along their trajectory for the given path length using two different propagators and verify consistent output.

Definition at line 360 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 360 of file PropagationTests.hpp

References CHECK_CLOSE_ABS, checkCovarianceConsistency(), checkParametersConsistency(), geoCtx, magCtx, and ActsTests::PropagationDatasets::pathLength.

Referenced by BOOST_DATA_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename cmp_propagator_t , typename ref_propagator_t , typename surface_builder_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runToSurfaceComparisonTest ( const cmp_propagator_t &  cmpPropagator,
const ref_propagator_t &  refPropagator,
const Acts::GeometryContext geoCtx,
const Acts::MagneticFieldContext magCtx,
const Acts::CurvilinearTrackParameters initialParams,
double  pathLength,
surface_builder_t &&  buildTargetSurface,
double  epsPos,
double  epsDir,
double  epsMom,
double  tolCov 
)
inline

Propagate the initial parameters along their trajectory for the given path length using the reference propagator. Use the propagated track parameters to define a target plane. Propagate the initial parameters using two different propagators and verify consistent output.

Definition at line 388 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 388 of file PropagationTests.hpp

References CHECK_CLOSE_ABS, checkCovarianceConsistency(), checkParametersConsistency(), geoCtx, magCtx, ActsTests::PropagationDatasets::pathLength, and writeMapConfig::surface.

Referenced by BOOST_DATA_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_t , typename surface_builder_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
void runToSurfaceTest ( const propagator_t &  propagator,
const Acts::GeometryContext geoCtx,
const Acts::MagneticFieldContext magCtx,
const Acts::CurvilinearTrackParameters initialParams,
double  pathLength,
surface_builder_t &&  buildTargetSurface,
double  epsPos,
double  epsDir,
double  epsMom 
)
inline

Propagate the initial parameters once for the given path length and use the propagated parameters to define a target surface. Propagate the initial parameters again to the target surface. Verify that the surface has been found and the parameters are consistent.

Definition at line 321 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 321 of file PropagationTests.hpp

References CHECK_CLOSE_ABS, geoCtx, magCtx, ActsTests::PropagationDatasets::pathLength, and writeMapConfig::surface.

Referenced by BOOST_DATA_TEST_CASE().

+ Here is the caller graph for this function:

template<typename propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
std::pair<Acts::CurvilinearTrackParameters, double> transportFreely ( const propagator_t &  propagator,
const Acts::GeometryContext geoCtx,
const Acts::MagneticFieldContext magCtx,
const Acts::CurvilinearTrackParameters initialParams,
double  pathLength 
)
inline

Propagate the initial parameters for the given pathlength in space.

Use a negative path length to indicate backward propagation.

Definition at line 239 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 239 of file PropagationTests.hpp

References Acts::Direction::fromScalar(), ckf::options, and ActsTests::PropagationDatasets::pathLength.

+ Here is the call graph for this function:

template<typename propagator_t , template< typename, typename > class options_t = Acts::PropagatorOptions>
std::pair<Acts::BoundTrackParameters, double> transportToSurface ( const propagator_t &  propagator,
const Acts::GeometryContext geoCtx,
const Acts::MagneticFieldContext magCtx,
const Acts::CurvilinearTrackParameters initialParams,
const Acts::Surface targetSurface,
double  pathLimit 
)
inline

Propagate the initial parameters to the target surface.

Definition at line 265 of file PropagationTests.hpp.

View newest version in sPHENIX GitHub at line 265 of file PropagationTests.hpp

References Acts::Direction::Forward, and ckf::options.