15#include <DD4hep/IDDescriptor.h>
16#include <algorithms/algorithm.h>
17#include <algorithms/geo.h>
18#include <edm4eic/MCRecoCalorimeterHitAssociationCollection.h>
19#include <edm4eic/EDM4eicVersion.h>
20#include <edm4hep/EventHeaderCollection.h>
21#include <edm4hep/RawCalorimeterHitCollection.h>
22#include <edm4hep/SimCalorimeterHitCollection.h>
32#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
33#include <edm4eic/MCRecoCalorimeterHitLinkCollection.h>
39 algorithms::Input<edm4hep::EventHeaderCollection, edm4hep::SimCalorimeterHitCollection>,
40 algorithms::Output<edm4hep::RawCalorimeterHitCollection,
41#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
42 edm4eic::MCRecoCalorimeterHitLinkCollection,
44 edm4eic::MCRecoCalorimeterHitAssociationCollection>>;
53 {
"eventHeader",
"inputHitCollection"},
54 {
"outputRawHitCollection",
55#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
58 "outputRawHitAssociationCollection"},
59 "Smear energy deposit, digitize within ADC range, add pedestal, "
60 "convert time with smearing resolution, and sum signals."} {
64 void process(const Input&, const Output&) const final;
68 double stepTDC{0}, tRes{0};
72 std::function<double(
const edm4hep::SimCalorimeterHit& h)> corrMeanScale;
74 dd4hep::IDDescriptor id_spec;
76 enum readout_enum { kSimpleReadout, kPoissonPhotonReadout, kSipmReadout };
77 enum readout_enum readoutType { kSimpleReadout };
80 const algorithms::GeoSvc& m_geo = algorithms::GeoSvc::instance();
Definition UniqueIDGenSvc.h:23
Definition CalorimeterHitDigi.h:47
CalorimeterHitDigi(std::string_view name)
Definition CalorimeterHitDigi.h:50
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4hep::EventHeaderCollection, edm4hep::SimCalorimeterHitCollection >, algorithms::Output< edm4hep::RawCalorimeterHitCollection, edm4eic::MCRecoCalorimeterHitLinkCollection, edm4eic::MCRecoCalorimeterHitAssociationCollection > > CalorimeterHitDigiAlgorithm
Definition CalorimeterHitDigi.h:44