Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-13 07:47:36

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 #pragma once
0010 
0011 #include "Acts/Definitions/TrackParametrization.hpp"
0012 #include "Acts/EventData/ParticleHypothesis.hpp"
0013 
0014 #include <cstdint>
0015 #include <iosfwd>
0016 
0017 namespace Acts {
0018 
0019 class Surface;
0020 
0021 namespace detail {
0022 
0023 /// Print bound track parameters content to the output stream.
0024 ///
0025 /// @param os The output stream
0026 /// @param surface Bound parameters reference surface
0027 /// @param particleHypothesis Particle hypothesis
0028 /// @param params Bound parameters vector
0029 /// @param cov Optional bound parameters covariance matrix
0030 void printBoundParameters(std::ostream& os, const Surface& surface,
0031                           const ParticleHypothesis& particleHypothesis,
0032                           const BoundVector& params,
0033                           const BoundMatrix* cov = nullptr);
0034 
0035 /// Print free track parameters content to the output stream.
0036 ///
0037 /// @param os The output stream
0038 /// @param particleHypothesis Particle hypothesis
0039 /// @param params Free parameters vector
0040 /// @param cov Optional free parameters covariance matrix
0041 void printFreeParameters(std::ostream& os,
0042                          const ParticleHypothesis& particleHypothesis,
0043                          const FreeVector& params,
0044                          const FreeMatrix* cov = nullptr);
0045 
0046 /// Print bound measurement content to the output stream.
0047 ///
0048 /// @param os The output stream
0049 /// @param size Size of the measurement space
0050 /// @param indices Which parameters are measured, must contain size elements
0051 /// @param params Parameters vector data, must contain size elements
0052 /// @param cov Optional Covariance matrix data, must contain sizexsize elements
0053 void printMeasurement(std::ostream& os, BoundIndices size,
0054                       const std::uint8_t* indices, const double* params,
0055                       const double* cov);
0056 
0057 /// Print free measurement content to the output stream.
0058 ///
0059 /// @param os The output stream
0060 /// @param size Size of the measurement space
0061 /// @param indices Which parameters are measured, must contain size elements
0062 /// @param params Parameters vector data, must contain size elements
0063 /// @param cov Optional Covariance matrix data, must contain sizexsize elements
0064 void printMeasurement(std::ostream& os, FreeIndices size,
0065                       const std::uint8_t* indices, const double* params,
0066                       const double* cov);
0067 
0068 }  // namespace detail
0069 }  // namespace Acts