File indexing completed on 2025-11-03 09:45:10
0001 
0002 
0003 
0004 #pragma once
0005 
0006 #include <algorithms/algorithm.h>
0007 #include <edm4eic/VertexCollection.h>
0008 #include <string>      // for basic_string
0009 #include <string_view> // for string_view
0010 
0011 #include "algorithms/interfaces/WithPodConfig.h"
0012 #include "algorithms/reco/PrimaryVerticesConfig.h"
0013 
0014 namespace eicrecon {
0015 
0016 using PrimaryVerticesAlgorithm =
0017     algorithms::Algorithm<algorithms::Input<edm4eic::VertexCollection>,
0018                           algorithms::Output<edm4eic::VertexCollection>>;
0019 
0020 class PrimaryVertices : public PrimaryVerticesAlgorithm,
0021                         public WithPodConfig<PrimaryVerticesConfig> {
0022 
0023 public:
0024   PrimaryVertices(std::string_view name)
0025       : PrimaryVerticesAlgorithm{name,
0026                                  {"inputVertices"},
0027                                  {"outputPrimaryVertices"},
0028                                  "Sort reconstructed vertices in PrimaryVertices collection"} {}
0029 
0030   void init() final;
0031   void process(const Input&, const Output&) const final;
0032 
0033 private:
0034 };
0035 }