Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-06-05 08:29:50

0001 // This file is part of the Acts project.
0002 //
0003 // Copyright (C) 2024 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 http://mozilla.org/MPL/2.0/.
0008 
0009 #pragma once
0010 
0011 #include "Acts/EventData/TrackParameters.hpp"
0012 #include "Acts/Propagator/MaterialInteractor.hpp"
0013 #include "Acts/Propagator/detail/SteppingLogger.hpp"
0014 
0015 #include <vector>
0016 
0017 namespace ActsExamples {
0018 
0019 struct PropagationSummary {
0020   explicit PropagationSummary(Acts::BoundTrackParameters startParameters_)
0021       : startParameters(std::move(startParameters_)) {}
0022 
0023   /// The start parameters
0024   Acts::BoundTrackParameters startParameters;
0025 
0026   /// Totoal number of successful steps
0027   std::size_t nSteps = 0;
0028 
0029   /// Totoal number of attempted steps
0030   std::size_t nStepTrials = 0;
0031 
0032   /// Path length
0033   double pathLength = 0;
0034 
0035   /// Steps
0036   std::vector<Acts::detail::Step> steps;
0037 };
0038 
0039 using PropagationSummaries = std::vector<PropagationSummary>;
0040 
0041 /// Using some short hands for Recorded Material
0042 using RecordedMaterial = Acts::MaterialInteractor::result_type;
0043 
0044 /// And recorded material track
0045 /// - this is start:  position, start momentum
0046 ///   and the Recorded material
0047 using RecordedMaterialTrack =
0048     std::pair<std::pair<Acts::Vector3, Acts::Vector3>, RecordedMaterial>;
0049 
0050 /// Finally the output of the propagation test
0051 using PropagationOutput = std::pair<PropagationSummary, RecordedMaterial>;
0052 
0053 }  // namespace ActsExamples