12 std::vector<double> xyz_segment(3);
13 xyz_segment[0] = 0.5 * (pt2.x() + pt1.x()) + XOffset;
14 xyz_segment[1] = 0.5 * (pt2.y() + pt1.y());
15 xyz_segment[2] = 0.5 * (pt2.z() + pt1.z());
23 const std::vector<float>& qe_vector,
29 throw std::runtime_error(
"ERROR in FlashHypothesisCalculator: vector sizes not equal!");
31 const float total_yield = yield * dEdx * (pt2 -
pt1).Mag();
33 for (
size_t i_chan = 0; i_chan < hyp.
GetVectorSize(); i_chan++)
Provides MappedContainer class.
void FillFlashHypothesis(const float &yield, const float &dEdx, const TVector3 &pt1, const TVector3 &pt2, const std::vector< float > &qe_vector, phot::MappedCounts_t const &vis_vector, FlashHypothesis &hyp)
size_t GetVectorSize() const
void SetHypothesisAndError(size_t i_opdet, float pe, float err=-999)
float dEdx(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, TP3D &tp3d)
A container for photon visibility mapping data.
std::vector< double > SegmentMidpoint(const TVector3 &pt1, const TVector3 &pt2, float XOffset=0)