Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-17 08:21:16

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/Vertexing/TrackAtVertex.hpp"
0013 #include "Acts/Vertexing/Vertex.hpp"
0014 
0015 #include <map>
0016 
0017 namespace Acts {
0018 
0019 /// @brief Helper struct for storing vertex related information
0020 ///
0021 /// @deprecated Superseded by @c VertexFitCandidate, which describes the vertex
0022 /// to be fitted, and the private fitter cache, which holds the fitter's
0023 /// per-vertex scratch data. This type merges the two and is kept only so that
0024 /// code
0025 /// written against the pre-split @c AdaptiveMultiVertexFitter::State keeps
0026 /// compiling; it is no longer used by the fitter itself.
0027 struct VertexInfo {
0028   VertexInfo() = default;
0029 
0030   /// Construct VertexInfo with constraint and position.
0031   /// @param constr Vertex constraint for the fitting procedure
0032   /// @param pos Initial position for linearization, old position, and seed
0033   VertexInfo(const Acts::Vertex& constr, const Acts::Vector4& pos)
0034       : constraint(constr),
0035         linPoint(pos),
0036         oldPosition(pos),
0037         seedPosition(pos) {}
0038 
0039   /// Vertex constraint for fitting procedure
0040   Acts::Vertex constraint;
0041 
0042   /// Point where all associated tracks are linearized
0043   Acts::Vector4 linPoint{Acts::Vector4::Zero()};
0044 
0045   /// Vertex position from the last iteration of the fit
0046   Acts::Vector4 oldPosition{Acts::Vector4::Zero()};
0047 
0048   /// The seed position (i.e., the first estimate for the vertex position as
0049   /// obtained by the vertex seed finder)
0050   Acts::Vector4 seedPosition{Acts::Vector4::Zero()};
0051 
0052   /// Flag indicating if associated tracks need relinearization
0053   bool relinearize = true;
0054 
0055   /// Vector of all tracks that are currently assigned to vertex
0056   std::vector<InputTrack> trackLinks;
0057 
0058   /// Map of 3D impact parameters for each associated track
0059   std::map<InputTrack, const BoundTrackParameters> impactParams3D;
0060 };
0061 
0062 }  // namespace Acts