EIC 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::NeutralCurvilinearTrackParameters makeParametersCurvilinearNeutral (double phi, double theta, double absMom)
 Construct (initial) neutral curvilinear parameters.
 
template<typename charge_t >
void checkParametersConsistency (const Acts::SingleBoundTrackParameters< charge_t > &cmp, const Acts::SingleBoundTrackParameters< charge_t > &ref, const Acts::GeometryContext &geoCtx, double epsPos, double epsDir, double epsMom)
 
template<typename charge_t >
void checkCovarianceConsistency (const Acts::SingleBoundTrackParameters< charge_t > &cmp, const Acts::SingleBoundTrackParameters< charge_t > &ref, double relativeTolerance)
 
template<typename charge_t >
Acts::Transform3D makeCurvilinearTransform (const Acts::SingleBoundTrackParameters< charge_t > &params, const Acts::GeometryContext &geoCtx)
 Construct the transformation from the curvilinear to the global coordinates.
 
template<typename propagator_t , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &initialParams, double pathLength)
 
template<typename propagator_t , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &initialParams, const Acts::Surface &targetSurface, double pathLimit)
 Propagate the initial parameters to the target surface.
 
template<typename propagator_t , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &initialParams, double pathLength, double epsPos, double epsDir, double epsMom)
 
template<typename propagator_t , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &initialParams, double pathLength, surface_builder_t &&buildTargetSurface, double epsPos, double epsDir, double epsMom)
 
template<typename cmp_propagator_t , typename ref_propagator_t , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &initialParams, double pathLength, double epsPos, double epsDir, double epsMom, double tolCov)
 
template<typename cmp_propagator_t , typename ref_propagator_t , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &initialParams, double pathLength, surface_builder_t &&buildTargetSurface, double epsPos, double epsDir, double epsMom, double tolCov)
 

Function Documentation

template<typename charge_t >
void checkCovarianceConsistency ( const Acts::SingleBoundTrackParameters< charge_t > &  cmp,
const Acts::SingleBoundTrackParameters< charge_t > &  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 133 of file PropagationTests.hpp.

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

References CHECK_CLOSE_COVARIANCE, and Acts::SingleBoundTrackParameters< charge_t >::covariance().

Referenced by runForwardComparisonTest(), and runToSurfaceComparisonTest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename charge_t >
void checkParametersConsistency ( const Acts::SingleBoundTrackParameters< charge_t > &  cmp,
const Acts::SingleBoundTrackParameters< charge_t > &  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 98 of file PropagationTests.hpp.

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

References Acts::SingleBoundTrackParameters< charge_t >::absoluteMomentum(), Acts::SingleBoundTrackParameters< charge_t >::charge(), CHECK_CLOSE_ABS, CHECK_SMALL, Acts::SingleBoundTrackParameters< charge_t >::position(), Acts::detail::radian_sym(), Acts::SingleBoundTrackParameters< charge_t >::time(), and Acts::SingleBoundTrackParameters< charge_t >::unitDirection().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename charge_t >
Acts::Transform3D makeCurvilinearTransform ( const Acts::SingleBoundTrackParameters< charge_t > &  params,
const Acts::GeometryContext geoCtx 
)
inline

Construct the transformation from the curvilinear to the global coordinates.

Definition at line 156 of file PropagationTests.hpp.

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

References Acts::makeCurvilinearUnitVectors(), offset, Acts::SingleBoundTrackParameters< charge_t >::position(), and Acts::SingleBoundTrackParameters< charge_t >::unitDirection().

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 27 of file PropagationTests.hpp.

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

References M_PI, 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::NeutralCurvilinearTrackParameters makeParametersCurvilinearNeutral ( double  phi,
double  theta,
double  absMom 
)
inline

Construct (initial) neutral curvilinear parameters.

Definition at line 77 of file PropagationTests.hpp.

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

References M_PI, 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 43 of file PropagationTests.hpp.

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

References Acts::Test::cov, Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eBoundTime, M_PI, 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 , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &  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 297 of file PropagationTests.hpp.

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

References CHECK_CLOSE_ABS, checkParametersConsistency(), Acts::Test::geoCtx, Acts::Test::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 charge_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::SingleCurvilinearTrackParameters< charge_t > &  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 365 of file PropagationTests.hpp.

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

References CHECK_CLOSE_ABS, checkCovarianceConsistency(), checkParametersConsistency(), Acts::Test::geoCtx, Acts::Test::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 charge_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::SingleCurvilinearTrackParameters< charge_t > &  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 396 of file PropagationTests.hpp.

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

References CHECK_CLOSE_ABS, checkCovarianceConsistency(), checkParametersConsistency(), Acts::Test::geoCtx, Acts::Test::magCtx, ActsTests::PropagationDatasets::pathLength, and 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 charge_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::SingleCurvilinearTrackParameters< charge_t > &  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 324 of file PropagationTests.hpp.

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

References CHECK_CLOSE_ABS, Acts::Test::geoCtx, Acts::Test::magCtx, ActsTests::PropagationDatasets::pathLength, and 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 charge_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::SingleCurvilinearTrackParameters< charge_t > &  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::backward, Acts::forward, Acts::getDummyLogger(), eicpy.build::options, and ActsTests::PropagationDatasets::pathLength.

+ Here is the call graph for this function:

template<typename propagator_t , typename charge_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::SingleCurvilinearTrackParameters< charge_t > &  initialParams,
const Acts::Surface targetSurface,
double  pathLimit 
)
inline

Propagate the initial parameters to the target surface.

Definition at line 266 of file PropagationTests.hpp.

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

References Acts::forward, Acts::getDummyLogger(), and eicpy.build::options.

+ Here is the call graph for this function: