10 #include <tracking/trackFindingCDC/testFixtures/TrackFindingCDCTestWithSimpleSimulation.h>
12 #include <tracking/trackFindingCDC/sim/CDCSimpleSimulation.h>
13 #include <tracking/trackFindingCDC/display/EventDataPlotter.h>
16 using namespace TrackFindingCDC;
18 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_CDCSimpleSimulation_straight)
20 Helix straightOriginLine(0, 0, 0, 0, 0);
21 simulate({straightOriginLine});
22 saveDisplay(
"straight.svg");
26 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_CDCSimpleSimulation_high)
28 Helix lowCurvOriginHelix(0.015, 0, 0, 1, 0);
29 simulate({lowCurvOriginHelix});
31 for (
const CDCRecoHit3D& recoHit3D : m_mcTracks[0]) {
36 saveDisplay(
"low.svg");
40 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_CDCSimpleSimulation_cosmic)
42 Helix straightOffOriginLine(0, 1, 20, 1, 75);
44 double arcLengthToOuterWall =
45 straightOffOriginLine.arcLength2DToCylindricalR(outerWallR);
47 Vector3D startPoint = straightOffOriginLine.atArcLength2D(-arcLengthToOuterWall);
48 CDCTrajectory3D cosmicTrajectory(straightOffOriginLine);
49 cosmicTrajectory.setLocalOrigin(startPoint);
51 simulate({cosmicTrajectory});
52 saveDisplay(
"cosmic.svg");
56 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_CDCSimpleSimulation_curl)
58 Helix highCurvOriginHelix(0.02, 1, 0, 0.5, 0);
59 simulate({highCurvOriginHelix});
60 saveDisplay(
"curl.svg");
63 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_CDCSimpleSimulation_secondary_curl)
65 Helix highCurvOffOriginHelix(0.02, 1, -30, 0.2, 0);
66 simulate({highCurvOffOriginHelix});
67 saveDisplay(
"secondary_curl.svg");
71 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_CDCSimpleSimulation_photon_conversion)
78 CDCTrajectory3D electronTrajectory(vertex, time, momentum, -1, 1.5);
79 CDCTrajectory3D positronTrajectory(vertex, time, momentum, 1, 1.5);
81 simulate({electronTrajectory, positronTrajectory});
82 saveDisplay(
"photon_conversion.svg");
85 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_CDCSimpleSimulation_cosmic_with_delay)
87 m_simpleSimulation.activateTOFDelay();
88 m_simpleSimulation.activateInWireSignalDelay();
90 Helix straightOffOriginLine(0, 1, 20, 1, 50);
92 double arcLengthToOuterWall =
93 straightOffOriginLine.arcLength2DToCylindricalR(outerWallR);
95 Vector3D startPoint = straightOffOriginLine.atArcLength2D(-arcLengthToOuterWall);
96 CDCTrajectory3D cosmicTrajectory(straightOffOriginLine);
97 cosmicTrajectory.setLocalOrigin(startPoint);
100 CDCTrack mcTrack = m_simpleSimulation.simulate(cosmicTrajectory);
103 saveDisplay(
"cosmic_with_delay.svg");
107 TEST_F(TrackFindingCDCTestWithSimpleSimulation, sim_prepared_event_rl_flags)
109 std::string svgFileName =
"rl_flags_prepared_event.svg";
112 for (CDCTrack& track : m_mcTracks) {
113 for (
const CDCRecoHit3D& recoHit3D : track) {
114 const CDCRLWireHit& rlWireHit = recoHit3D.getRLWireHit();
115 std::string color =
"blue";
116 if (rlWireHit.getRLInfo() == ERightLeft::c_Right) {
118 }
else if (rlWireHit.getRLInfo() == ERightLeft::c_Left) {
122 draw(rlWireHit.getWireHit(), strokeAttr);
125 saveDisplay(svgFileName);