19 #include "range/v3/numeric.hpp" 20 #include "range/v3/view.hpp" 27 : fLinearFunctions{{{pset.
get<
double>(
"UGradient"), pset.
get<
double>(
"UIntercept")},
28 {pset.
get<
double>(
"VGradient"), pset.
get<
double>(
"VIntercept")},
29 {pset.
get<
double>(
"ZGradient"), pset.
get<
double>(
"ZIntercept")}}}
43 auto in_plane = [plane](
auto const&
hit) {
return hit.WireID().Plane == plane; };
44 auto charge = [coeff](
auto const&
hit) {
45 return hit.Integral() * std::exp(coeff *
hit.PeakTime());
48 double const totalCharge =
50 ranges::views::transform(charge),
std::array< LinearFunction, 3 > const fLinearFunctions
constexpr to_element_t to_element
double ShowerEnergy(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &hits, geo::PlaneID::PlaneID_t plane) const
unsigned int PlaneID_t
Type for the ID number.
double ElectronLifetime() const
ShowerEnergyAlg(fhicl::ParameterSet const &pset)
T get(std::string const &key) const
Definition of data types for geometry description.
Detector simulation of raw signals on wires.
Declaration of signal hit object.
Contains all timing reference information for the detector.
static unsigned filter(unsigned char *out, const unsigned char *in, unsigned w, unsigned h, const LodePNG_InfoColor *info)
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.