Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-28 07:55:43

0001 // This file is part of the ACTS project.
0002 //
0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008 
0009 #include <boost/test/unit_test.hpp>
0010 
0011 #include "Acts/Visualization/ObjVisualization3D.hpp"
0012 #include "Acts/Visualization/PlyVisualization3D.hpp"
0013 
0014 #include <algorithm>
0015 #include <iostream>
0016 
0017 #include "EventDataView3DBase.hpp"
0018 #include "Visualization3DTester.hpp"
0019 
0020 using namespace Acts;
0021 
0022 namespace ActsTests {
0023 
0024 BOOST_AUTO_TEST_SUITE(VisualizationSuite)
0025 
0026 BOOST_AUTO_TEST_CASE(BoundTrackParametersVisualizationObj) {
0027   ObjVisualization3D obj;
0028   auto objTest = EventDataView3DTest::testBoundTrackParameters(obj);
0029   auto objErrors = testObjString(objTest);
0030   BOOST_CHECK(objErrors.empty());
0031   for (const auto& objerr : objErrors) {
0032     std::cout << objerr << std::endl;
0033   }
0034   BOOST_CHECK_EQUAL(std::count(objTest.begin(), objTest.end(), '\n'), 4924);
0035 }
0036 
0037 BOOST_AUTO_TEST_CASE(BoundTrackParametersVisualizationPly) {
0038   PlyVisualization3D ply;
0039   auto plyTest = EventDataView3DTest::testBoundTrackParameters(ply);
0040   auto plyErrors = testPlyString(plyTest);
0041   BOOST_CHECK(plyErrors.empty());
0042   for (const auto& plyerr : plyErrors) {
0043     std::cout << plyerr << std::endl;
0044   }
0045   BOOST_CHECK_EQUAL(std::count(plyTest.begin(), plyTest.end(), '\n'), 3143);
0046 }
0047 
0048 BOOST_AUTO_TEST_CASE(MeasurementVisualizationObj) {
0049   ObjVisualization3D obj;
0050   auto objTest = EventDataView3DTest::testMeasurement(obj);
0051   auto objErrors = testObjString(objTest);
0052   BOOST_CHECK(objErrors.empty());
0053   for (const auto& objerr : objErrors) {
0054     std::cout << objerr << std::endl;
0055   }
0056   BOOST_CHECK_EQUAL(std::count(objTest.begin(), objTest.end(), '\n'), 520);
0057 }
0058 
0059 BOOST_AUTO_TEST_CASE(MeasurementVisualizationPly) {
0060   PlyVisualization3D ply;
0061   auto plyTest = EventDataView3DTest::testMeasurement(ply);
0062   auto plyErrors = testPlyString(plyTest);
0063   BOOST_CHECK(plyErrors.empty());
0064   for (const auto& plyerr : plyErrors) {
0065     std::cout << plyerr << std::endl;
0066   }
0067   BOOST_CHECK_EQUAL(std::count(plyTest.begin(), plyTest.end(), '\n'), 536);
0068 }
0069 
0070 BOOST_AUTO_TEST_CASE(MeasurementVisualizationFaultySettings) {
0071   ObjVisualization3D obj;
0072 
0073   double localErrorScale = 0.;
0074   BOOST_CHECK_THROW(EventDataView3DTest::testMeasurement(obj, localErrorScale),
0075                     std::invalid_argument);
0076 
0077   localErrorScale = -1.;
0078   BOOST_CHECK_THROW(EventDataView3DTest::testMeasurement(obj, localErrorScale),
0079                     std::invalid_argument);
0080 }
0081 
0082 BOOST_AUTO_TEST_CASE(MultiTrajectoryVisualizationObj) {
0083   ObjVisualization3D obj;
0084   auto objTest = EventDataView3DTest::testMultiTrajectory(obj);
0085   auto objErrors = testObjString(objTest);
0086   BOOST_CHECK(objErrors.empty());
0087   for (const auto& objerr : objErrors) {
0088     std::cout << objerr << std::endl;
0089   }
0090   BOOST_CHECK_EQUAL(std::count(objTest.begin(), objTest.end(), '\n'), 103796);
0091 }
0092 
0093 BOOST_AUTO_TEST_CASE(MultiTrajectoryVisualizationPly) {
0094   PlyVisualization3D ply;
0095   auto plyTest = EventDataView3DTest::testMultiTrajectory(ply);
0096   auto plyErrors = testPlyString(plyTest);
0097   BOOST_CHECK(plyErrors.empty());
0098   for (const auto& plyerr : plyErrors) {
0099     std::cout << plyerr << std::endl;
0100   }
0101   BOOST_CHECK_EQUAL(std::count(plyTest.begin(), plyTest.end(), '\n'), 66091);
0102 }
0103 
0104 BOOST_AUTO_TEST_SUITE_END()
0105 
0106 }  // namespace ActsTests