Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-15 09:23:45

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