ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PropagationTestBase.hpp File Reference
#include <boost/test/data/test_case.hpp>
#include <boost/test/unit_test.hpp>
#include <cmath>
#include "Acts/Propagator/EigenStepper.hpp"
#include "Acts/Propagator/Propagator.hpp"
#include "Acts/Tests/CommonHelpers/FloatComparisons.hpp"
#include "Acts/Utilities/Units.hpp"
+ Include dependency graph for PropagationTestBase.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  ds
 

Functions

 BOOST_DATA_TEST_CASE (forward_backward_propagation_, ds::trackParameters *ds::propagationLimit, pT, phi, theta, charge, plimit)
 test consistency of forward-backward propagation
 
 BOOST_DATA_TEST_CASE (propagation_to_cylinder_, ds::trackParameters *ds::propagationFraction^ds::threeRandom, pT, phi, theta, charge, pfrac, rand1, rand2, rand3)
 test consistency of propagators when approaching a cylinder
 
 BOOST_DATA_TEST_CASE (propagation_to_plane_, ds::trackParameters *ds::propagationLimit^ds::threeRandom, pT, phi, theta, charge, plimit, rand1, rand2, rand3)
 test consistency of propagators to a plane
 
 BOOST_DATA_TEST_CASE (propagation_to_disc_, ds::trackParameters *ds::propagationLimit^ds::threeRandom, pT, phi, theta, charge, plimit, rand1, rand2, rand3)
 test consistency of propagators to a disc
 
 BOOST_DATA_TEST_CASE (propagation_to_line_, ds::trackParameters *ds::propagationLimit^ds::threeRandom, pT, phi, theta, charge, plimit, rand1, rand2, rand3)
 test consistency of propagators to a line
 
 BOOST_DATA_TEST_CASE (covariance_transport_curvilinear_curvilinear_, ds::trackParameters *ds::propagationLimit, pT, phi, theta, charge, plimit)
 
 BOOST_DATA_TEST_CASE (covariance_transport_disc_disc_, ds::trackParameters *ds::propagationLimit^ds::threeRandom, pT, phi, theta, charge, plimit, rand1, rand2, rand3)
 
 BOOST_DATA_TEST_CASE (covariance_transport_plane_plane_, ds::trackParameters *ds::propagationLimit^ds::threeRandom, pT, phi, theta, charge, plimit, rand1, rand2, rand3)
 
 BOOST_DATA_TEST_CASE (covariance_transport_line_line_, ds::trackParameters *ds::propagationLimit^ds::threeRandom, pT, phi, theta, charge, plimit, rand1, rand2, rand3)
 
 BOOST_DATA_TEST_CASE (dense_covariance_transport_curvilinear_curvilinear_, ds::pT *ds::propagationLimit^ds::threeRandom, pT, plimit, rand1, rand2, rand3)
 

Variables

unsigned int itest = 0
 
auto ds::pT = bdata::xrange(0.5_GeV, 10_GeV, 500_MeV)
 
auto ds::phi = bdata::xrange(-180_degree, 180_degree, 30_degree)
 
auto ds::theta = bdata::xrange(15_degree, 90_degree, 15_degree)
 
auto ds::charge = bdata::make({1_e, -1_e})
 
auto ds::trackParameters = (pT * phi * theta * charge)
 
auto ds::propagationFraction = bdata::xrange(0.0, 1.0, 0.25)
 
auto ds::propagationLimit = bdata::xrange(10_cm, 1_m, 10_cm)
 
auto ds::rand1
 
auto ds::rand2
 
auto ds::rand3
 
auto ds::threeRandom = (rand1 ^ rand2 ^ rand2)
 

Function Documentation

BOOST_DATA_TEST_CASE ( forward_backward_propagation_  ,
ds::trackParameters *ds::propagationLimit  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit   
)

test consistency of forward-backward propagation

Definition at line 48 of file PropagationTestBase.hpp.

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

References Acts::units::_eV, Acts::units::_um, Acts::IntegrationTest::apropagator(), charge, Acts::IntegrationTest::debug, Acts::IntegrationTest::epropagator(), Acts::IntegrationTest::foward_backward(), itest, phi, ds::pT, Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( propagation_to_cylinder_  ,
ds::trackParameters *ds::propagationFraction^ds::threeRandom  ,
pT  ,
phi  ,
theta  ,
charge  ,
pfrac  ,
rand1  ,
rand2  ,
rand3   
)

test consistency of propagators when approaching a cylinder

Definition at line 65 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 65 of file PropagationTestBase.hpp

References Acts::units::_m, Acts::units::_um, kdfinder::abs(), Acts::IntegrationTest::apropagator(), Acts::IntegrationTest::Bz, charge, CHECK_CLOSE_ABS, Acts::IntegrationTest::covtpr, Acts::IntegrationTest::debug, Acts::IntegrationTest::epropagator(), phi, ds::pT, r, ds::rand1, ds::rand2, ds::rand3, Acts::IntegrationTest::spropagator(), theta(), and Acts::IntegrationTest::to_cylinder().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( propagation_to_plane_  ,
ds::trackParameters *ds::propagationLimit^ds::threeRandom  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit  ,
rand1  ,
rand2  ,
rand3   
)

test consistency of propagators to a plane

Definition at line 93 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 93 of file PropagationTestBase.hpp

References Acts::units::_um, Acts::IntegrationTest::apropagator(), charge, CHECK_CLOSE_ABS, Acts::IntegrationTest::covtpr, Acts::IntegrationTest::epropagator(), phi, ds::pT, ds::rand1, ds::rand2, ds::rand3, Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( propagation_to_disc_  ,
ds::trackParameters *ds::propagationLimit^ds::threeRandom  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit  ,
rand1  ,
rand2  ,
rand3   
)

test consistency of propagators to a disc

Definition at line 119 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 119 of file PropagationTestBase.hpp

References Acts::units::_um, Acts::IntegrationTest::apropagator(), charge, CHECK_CLOSE_ABS, Acts::IntegrationTest::covtpr, Acts::IntegrationTest::epropagator(), phi, ds::pT, ds::rand1, ds::rand2, ds::rand3, Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( propagation_to_line_  ,
ds::trackParameters *ds::propagationLimit^ds::threeRandom  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit  ,
rand1  ,
rand2  ,
rand3   
)

test consistency of propagators to a line

Definition at line 146 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 146 of file PropagationTestBase.hpp

References Acts::units::_um, Acts::IntegrationTest::apropagator(), charge, CHECK_CLOSE_ABS, Acts::IntegrationTest::covtpr, Acts::IntegrationTest::debug, Acts::IntegrationTest::epropagator(), phi, ds::pT, ds::rand1, ds::rand2, ds::rand3, Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( covariance_transport_curvilinear_curvilinear_  ,
ds::trackParameters *ds::propagationLimit  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit   
)

test correct covariance transport for curvilinear parameters this test only works within the s_curvilinearProjTolerance (in: Definitions.hpp)

Definition at line 184 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 184 of file PropagationTestBase.hpp

References Acts::IntegrationTest::apropagator(), charge, CHECK_CLOSE_COVARIANCE, Acts::IntegrationTest::covariance_curvilinear(), e, Acts::IntegrationTest::epropagator(), phi, ds::pT, Acts::IntegrationTest::rapropagator(), Acts::IntegrationTest::repropagator(), Acts::IntegrationTest::rspropagator(), Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( covariance_transport_disc_disc_  ,
ds::trackParameters *ds::propagationLimit^ds::threeRandom  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit  ,
rand1  ,
rand2  ,
rand3   
)

Definition at line 205 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 205 of file PropagationTestBase.hpp

References Acts::IntegrationTest::apropagator(), charge, CHECK_CLOSE_COVARIANCE, e, Acts::IntegrationTest::epropagator(), phi, ds::pT, ds::rand1, ds::rand2, ds::rand3, Acts::IntegrationTest::rapropagator(), Acts::IntegrationTest::repropagator(), Acts::IntegrationTest::rspropagator(), Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( covariance_transport_plane_plane_  ,
ds::trackParameters *ds::propagationLimit^ds::threeRandom  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit  ,
rand1  ,
rand2  ,
rand3   
)

Definition at line 248 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 248 of file PropagationTestBase.hpp

References Acts::IntegrationTest::apropagator(), charge, CHECK_CLOSE_COVARIANCE, Acts::IntegrationTest::covariance_bound(), e, Acts::IntegrationTest::epropagator(), phi, ds::pT, ds::rand1, ds::rand2, ds::rand3, Acts::IntegrationTest::rapropagator(), Acts::IntegrationTest::repropagator(), Acts::IntegrationTest::rspropagator(), Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( covariance_transport_line_line_  ,
ds::trackParameters *ds::propagationLimit^ds::threeRandom  ,
pT  ,
phi  ,
theta  ,
charge  ,
plimit  ,
rand1  ,
rand2  ,
rand3   
)

Definition at line 283 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 283 of file PropagationTestBase.hpp

References Acts::IntegrationTest::apropagator(), charge, CHECK_CLOSE_COVARIANCE, Acts::IntegrationTest::covariance_bound(), e, Acts::IntegrationTest::epropagator(), phi, ds::pT, ds::rand1, ds::rand2, ds::rand3, Acts::IntegrationTest::rapropagator(), Acts::IntegrationTest::repropagator(), Acts::IntegrationTest::rspropagator(), Acts::IntegrationTest::spropagator(), and theta().

+ Here is the call graph for this function:

BOOST_DATA_TEST_CASE ( dense_covariance_transport_curvilinear_curvilinear_  ,
ds::pT *ds::propagationLimit^ds::threeRandom  ,
pT  ,
plimit  ,
rand1  ,
rand2  ,
rand3   
)

test correct covariance transport for curvilinear parameters in dense environment this test only works within the s_curvilinearProjTolerance (in: Definitions.hpp)

Definition at line 325 of file PropagationTestBase.hpp.

View newest version in sPHENIX GitHub at line 325 of file PropagationTestBase.hpp

References Acts::units::_e, CHECK_CLOSE_COVARIANCE, Acts::IntegrationTest::covariance_curvilinear(), Acts::Test::dpropagator(), e, ds::pT, ds::rand1, ds::rand2, ds::rand3, and Acts::IntegrationTest::setupDensePropagator().

+ Here is the call graph for this function:

Variable Documentation