Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-06-29 07:05:58

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 
0012 namespace eicrecon {
0013 
0014     /**
0015      * Converts edm4hep::MCParticle to edm4eic::ReconstructedParticle
0016      */
0017     class MC2SmearedParticle {
0018     public:
0019 
0020         /** Initialized algorithms with required data. Init function is assumed to be called once **/
0021         void init(std::shared_ptr<spdlog::logger> logger);
0022 
0023         /** process function convert one data type to another **/
0024         std::unique_ptr<edm4eic::ReconstructedParticleCollection> produce(const edm4hep::MCParticleCollection* mc_particles);
0025 
0026     private:
0027         /** algorithm logger */
0028         std::shared_ptr<spdlog::logger> m_log;
0029     };
0030 }