Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-20 07:58: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/EventData/TrackParameters.hpp"
0012 #include "Acts/Utilities/Result.hpp"
0013 #include "Acts/Vertexing/Vertex.hpp"
0014 #include "Acts/Vertexing/VertexingOptions.hpp"
0015 
0016 namespace Acts {
0017 
0018 // Dummy track linearizer
0019 class DummyTrackLinearizer;
0020 
0021 /// @class DummyVertexFitter
0022 /// @brief Dummy vertex fitter class, only to be used
0023 /// for ensuring interfaces where a vertex fitter type is
0024 /// required but no fitter is actually needed
0025 template <typename linearizer_t = DummyTrackLinearizer>
0026 class DummyVertexFitter {
0027  public:
0028   /// Type alias for track linearizer used in vertex fitting
0029   using Linearizer_t = linearizer_t;
0030   /// Type alias for propagator (void for dummy implementation)
0031   using Propagator_t = void;
0032 
0033   // Do not allow an instance creation
0034   DummyVertexFitter() = delete;
0035 
0036   /// @brief Dummy fit method
0037   /// @return Error result as this is a dummy implementation that should not be used
0038   Result<Vertex> fit(const std::vector<InputTrack>&, const linearizer_t&,
0039                      const VertexingOptions&) const;
0040 };
0041 
0042 }  // namespace Acts