104 auto handle =
e.getValidHandle<std::vector<sim::SimEnergyDeposit>>(
fSedLabel);
105 if (!handle.isValid()) {
107 std::cerr <<
"SimEnergyDeposit not found" << std::endl;
108 throw std::exception();
113 if (lhs.
X() < rhs.
X())
return true;
114 if (lhs.
X() > rhs.
X())
return false;
115 if (lhs.
Y() < rhs.
Y())
return true;
116 if (lhs.
Y() > rhs.
Y())
return false;
117 if (lhs.
Z() < rhs.
Z())
return true;
118 if (lhs.
Z() > rhs.
Z())
return false;
122 std::set<sim::SimEnergyDepositLite, comp> sedlite_v2;
124 auto const& sed_v = *handle;
132 for (
size_t idx = 0; idx < sed_v.size(); ++idx) {
133 auto const& sed = sed_v[idx];
141 auto it = sedlite_v2.find(sed_lite);
142 if (it!=sedlite_v2.end()) {
143 double new_energy = sed_lite.E() + it->E();
144 double new_time = std::min(sed_lite.T(), it->T());
145 sedlite_v2.erase(it);
147 sedlite_v2.insert(new_sed_lite);
150 sedlite_v2.insert(std::move(sed_lite));
165 std::unique_ptr<std::vector<sim::SimEnergyDepositLite>> sedlite_v(
new std::vector<sim::SimEnergyDepositLite>(sedlite_v2.begin(), sedlite_v2.end()));
168 e.put(std::move(sedlite_v));
process_name opflash particleana ie ie ie z
process_name opflash particleana ie x
BEGIN_PROLOG could also be cerr
art::InputTag fSedLabel
module making the SimEnergyDeposit
double fMinZ
bottom left coordinate of union of all TPC active volumes
double fVoxelSizeZ
size of a voxel (cm)
process_name opflash particleana ie ie y
Energy deposition in the active material (lite version).
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.