12 #include "CLHEP/Geometry/Point3D.h"
29 return StatusCode::SUCCESS;
37 return StatusCode::SUCCESS;
47 auto vtxIt = ge.vertices().begin();
48 auto vtxEnd = ge.vertices().end();
50 auto vtxIt = ge.vertices_begin();
51 auto vtxEnd = ge.vertices_end();
53 for( ; vtxIt != vtxEnd; ++vtxIt) {
55 const HepMC::FourVector &curPos = (*vtxIt)->position();
58 allOK &= std::isfinite( curPos.x() );
59 allOK &= std::isfinite( curPos.y() );
60 allOK &= std::isfinite( curPos.z() );
62 allOK &= std::isfinite( curPos.t() ) || !
m_checkTime;
66 ATH_MSG_DEBUG(
"All vertices in the given GenEvent are valid.");
67 return StatusCode::SUCCESS;
70 ATH_MSG_ERROR(
"At least one vertex in the given GenEvent has an invalid position value (NaN or inf).");
71 return StatusCode::FAILURE;