13 :
public JOmniFactory<SiliconChargeSharing_factory, SiliconChargeSharingConfig> {
18 std::unique_ptr<AlgoT> m_algo;
20 PodioInput<edm4hep::SimTrackerHit> m_in_sim_track{
this};
21 PodioOutput<edm4hep::SimTrackerHit> m_out_reco_particles{
this};
23 Service<AlgorithmsInit_service> m_algorithmsInit{
this};
25 ParameterRef<float> m_sigma_sharingx{
this,
"sigmaSharingX",
config().sigma_sharingx};
26 ParameterRef<float> m_sigma_sharingy{
this,
"sigmaSharingY",
config().sigma_sharingy};
27 ParameterRef<float> m_min_edep{
this,
"minEDep",
config().min_edep};
28 ParameterRef<std::string> m_readout{
this,
"readout",
config().readout};
29 ParameterRef<eicrecon::SiliconChargeSharingConfig::ESigmaMode> m_sigma_mode{
this,
"sigmaMode",
34 m_algo = std::make_unique<AlgoT>(
GetPrefix());
35 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
36 m_algo->applyConfig(
config());
41 m_algo->process({m_in_sim_track()}, {m_out_reco_particles().get()});