72 if (hitsVec.empty() || !hitAssnVec)
return;
77 using HitPosition = std::array<double,6>;
78 std::map<int,std::vector<HitPosition>> colorToHitMap;
81 float maxHitCharge(std::numeric_limits<float>::lowest());
91 for(
const auto& spacePoint : hitsVec)
94 float hitCharge = spacePoint->ErrXYZ()[1];
96 minHitCharge =
std::min(minHitCharge, hitCharge);
97 maxHitCharge =
std::max(maxHitCharge, hitCharge);
102 if (maxHitCharge > minHitCharge)
106 for(
const auto& spacePoint : hitsVec)
114 const double*
pos = spacePoint->XYZ();
115 const double*
err = spacePoint->ErrXYZ();
117 colorToHitMap[chargeColorIdx].push_back(HitPosition()={{pos[0],pos[1],pos[2],err[3],err[3],err[5]}});
121 for(
auto& hitPair : colorToHitMap)
123 TPolyMarker3D&
pm = view->AddPolyMarker3D(hitPair.second.size(), hitPair.first, kFullDotLarge, 0.25);
124 for (
const auto&
hit : hitPair.second) pm.SetNextPoint(
hit[0],
hit[1],
hit[2]);
std::vector< double > fRecoQHigh
high edge of ADC values for drawing raw digits
std::vector< double > fRecoQLow
low edge of ADC values for drawing raw digits
const evdb::ColorScale & CalQ(geo::SigType_t st) const
static int max(int a, int b)
void err(const char *fmt,...)
Detector simulation of raw signals on wires.
T min(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Signal from collection planes.