9 #include "canvas/Persistency/Common/PtrVector.h"
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")}}}
39 if (plane >= fLinearFunctions.size()) {
return 0.; }
43 auto in_plane = [plane](
auto const&
hit) {
return hit.WireID().Plane == plane; };
44 auto charge = [coeff](
auto const&
hit) {
48 double const totalCharge =
53 return fLinearFunctions[plane].energy_from(totalCharge);
Utilities related to art service access.
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
Declaration of signal hit object.
unsigned int PlaneID_t
Type for the ID number.
double ElectronLifetime() const
ShowerEnergyAlg(fhicl::ParameterSet const &pset)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition of data types for geometry description.
Contains all timing reference information for the detector.
double sampling_rate(DetectorClocksData const &data)
Returns the period of the TPC readout electronics clock.