Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-02 08:32:53

0001 // Created by Dmitry Romanov
0002 // Subject to the terms in the LICENSE file found in the top-level directory.
0003 // Original header from Gaudi algorithm
0004 // SPDX-License-Identifier: LGPL-3.0-or-later
0005 // Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck, Shujie Li
0006 // TODO refactor header when license is clear
0007 
0008 #pragma once
0009 
0010 #include <DD4hep/Detector.h>
0011 #include <DDRec/CellIDPositionConverter.h>
0012 #include <edm4eic/Measurement2DCollection.h>
0013 #include <edm4eic/TrackerHitCollection.h>
0014 #include <spdlog/logger.h>
0015 #include <memory>
0016 
0017 #include "ActsGeometryProvider.h"
0018 
0019 namespace eicrecon {
0020 
0021 class TrackerMeasurementFromHits {
0022 public:
0023   void init(const dd4hep::Detector* detector, const dd4hep::rec::CellIDPositionConverter* converter,
0024             std::shared_ptr<const ActsGeometryProvider> acts_context,
0025             std::shared_ptr<spdlog::logger> logger);
0026 
0027   std::unique_ptr<edm4eic::Measurement2DCollection>
0028   produce(const edm4eic::TrackerHitCollection& trk_hits);
0029 
0030 private:
0031   std::shared_ptr<spdlog::logger> m_log;
0032 
0033   /// Geometry and Cell ID position converter
0034   const dd4hep::Detector* m_dd4hepGeo;
0035   const dd4hep::rec::CellIDPositionConverter* m_converter;
0036 
0037   std::shared_ptr<const ActsGeometryProvider> m_acts_context;
0038 
0039   /// Detector-specific information
0040   unsigned long m_detid_b0tracker;
0041 };
0042 
0043 } // namespace eicrecon