Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-19 07:57:32

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/EventData/TrackParameters.hpp"
0013 #include "Acts/Vertexing/TrackAtVertex.hpp"
0014 #include "Acts/Vertexing/Vertex.hpp"
0015 
0016 #include <map>
0017 
0018 namespace Acts {
0019 
0020 /// @brief Helper struct for storing vertex related information
0021 struct VertexInfo {
0022   VertexInfo() = default;
0023 
0024   /// Construct VertexInfo with constraint and position.
0025   /// @param constr Vertex constraint for the fitting procedure
0026   /// @param pos Initial position for linearization, old position, and seed
0027   VertexInfo(const Acts::Vertex& constr, const Acts::Vector4& pos)
0028       : constraint(constr),
0029         linPoint(pos),
0030         oldPosition(pos),
0031         seedPosition(pos) {}
0032 
0033   /// Vertex constraint for fitting procedure
0034   Acts::Vertex constraint;
0035 
0036   /// Point where all associated tracks are linearized
0037   Acts::Vector4 linPoint{Acts::Vector4::Zero()};
0038 
0039   /// Vertex position from the last iteration of the fit
0040   Acts::Vector4 oldPosition{Acts::Vector4::Zero()};
0041 
0042   /// The seed position (i.e., the first estimate for the vertex position as
0043   /// obtained by the vertex seed finder)
0044   Acts::Vector4 seedPosition{Acts::Vector4::Zero()};
0045 
0046   /// Flag indicating if associated tracks need relinearization
0047   bool relinearize = true;
0048 
0049   /// Vector of all tracks that are currently assigned to vertex
0050   std::vector<InputTrack> trackLinks;
0051 
0052   /// Map of 3D impact parameters for each associated track
0053   std::map<InputTrack, const BoundTrackParameters> impactParams3D;
0054 };
0055 
0056 }  // namespace Acts