File indexing completed on 2025-08-28 08:15:54
0001
0002
0003
0004
0005
0006 #pragma once
0007
0008 #include <algorithms/algorithm.h>
0009 #include <edm4eic/RawTrackerHitCollection.h>
0010 #include <edm4hep/RawTimeSeriesCollection.h>
0011 #include <cmath>
0012 #include <string>
0013 #include <string_view>
0014
0015 #include "algorithms/digi/CFDROCDigitizationConfig.h"
0016 #include "algorithms/interfaces/WithPodConfig.h"
0017
0018 namespace eicrecon {
0019
0020 using CFDROCDigitizationAlgorithm =
0021 algorithms::Algorithm<algorithms::Input<edm4hep::RawTimeSeriesCollection>,
0022 algorithms::Output<edm4eic::RawTrackerHitCollection>>;
0023
0024 class CFDROCDigitization : public CFDROCDigitizationAlgorithm,
0025 public WithPodConfig<CFDROCDigitizationConfig> {
0026
0027 public:
0028 CFDROCDigitization(std::string_view name)
0029 : CFDROCDigitizationAlgorithm{
0030 name,
0031 {"inputWaveforms"},
0032 {"outputRawHits"},
0033 "Discriminate and digitize signals with timing based on what is expected from a CFD"} {}
0034 void init() {};
0035 void process(const Input&, const Output&) const final;
0036 };
0037
0038 }