Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-09 08:30:21

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong, Wouter Deconinck, Dmitry Romanov
0003 
0004 #pragma once
0005 
0006 #include <edm4eic/ReconstructedParticleCollection.h>
0007 #include <edm4hep/MCParticleCollection.h>
0008 #include <spdlog/logger.h>
0009 #include <memory>
0010 
0011 namespace eicrecon {
0012 
0013 /**
0014      * Converts edm4hep::MCParticle to edm4eic::ReconstructedParticle
0015      */
0016 class MC2SmearedParticle {
0017 public:
0018   /** Initialized algorithms with required data. Init function is assumed to be called once **/
0019   void init(std::shared_ptr<spdlog::logger> logger);
0020 
0021   /** process function convert one data type to another **/
0022   std::unique_ptr<edm4eic::ReconstructedParticleCollection>
0023   produce(const edm4hep::MCParticleCollection* mc_particles);
0024 
0025 private:
0026   /** algorithm logger */
0027   std::shared_ptr<spdlog::logger> m_log;
0028 };
0029 } // namespace eicrecon