24 std::stringstream msg;
25 if (std::isnan(
fX) || std::isinf(
fX)) {
26 msg <<
", x = " <<
fX;
28 if (std::isnan(
fY) || std::isinf(
fY)) {
29 msg <<
", y = " <<
fY;
31 if (std::isnan(
fZ) || std::isinf(
fZ)) {
32 msg <<
", z = " <<
fZ;
34 if (std::isnan(
fT) || std::isinf(
fT)) {
35 msg <<
", t = " <<
fT;
37 if (std::isnan(
fDx2) || std::isinf(
fDx2)) {
38 msg <<
", dx2 = " <<
fDx2;
40 if (std::isnan(
fDy2) || std::isinf(
fDy2)) {
41 msg <<
", dy2 = " <<
fDy2;
43 if (std::isnan(
fDxy) || std::isinf(
fDxy)) {
44 msg <<
", dxy = " <<
fDxy;
46 if (std::isnan(
fDt2) || std::isinf(
fDt2)) {
47 msg <<
", dt2 = " <<
fDt2;
49 const auto& sMsg = msg.str();
51 LOG(warn) <<
"HitRecord: Discarding hit " <<
fExtId <<
": det = " <<
fDet
52 <<
", addr = " <<
static_cast<int32_t
>(
fDataStream) <<
", " << sMsg;
58 res = res && !(std::isnan(
fX) || std::isinf(
fX));
59 res = res && !(std::isnan(
fY) || std::isinf(
fY));
60 res = res && !(std::isnan(
fZ) || std::isinf(
fZ));
61 res = res && !(std::isnan(
fT) || std::isinf(
fT));
62 res = res && !(std::isnan(
fDx2) || std::isinf(
fDx2));
63 res = res && !(std::isnan(
fDy2) || std::isinf(
fDy2));
64 res = res && !(std::isnan(
fDt2) || std::isinf(
fDt2));
65 res = res && !(std::isnan(
fDxy) || std::isinf(
fDxy));
75 std::stringstream msg;
76 msg <<
"HitRecord: det = " <<
fDet <<
", addr = " <<
static_cast<int32_t
>(
fDataStream) <<
", extId = " <<
fExtId
78 <<
", x = " <<
fX <<
", y = " <<
fY <<
", z = " <<
fZ <<
", t = " <<
fT <<
", dx2 = " <<
fDx2
79 <<
", dy2 = " <<
fDy2 <<
", dt2 = " <<
fDt2 <<
", dxy = " <<
fDxy <<
", rangeX = " <<
fRangeX