27template <class T, std::enable_if_t<std::is_same<T, HepMC3::GenParticlePtr>::value || std::is_same<T, HepMC3::ConstGenParticlePtr>::value,
bool > =
true>
29 std::shared_ptr<HepMC3::DoubleAttribute> phi_A =
a->template attribute<HepMC3::DoubleAttribute>(
HepMCStr::phi);
30 std::shared_ptr<HepMC3::DoubleAttribute> theta_A =
a->template attribute<HepMC3::DoubleAttribute>(
HepMCStr::theta);
31 const double phi = (phi_A ? phi_A->value() : 0.0);
32 const double theta = (theta_A ? theta_A->value() : 0.0);
33 const bool is_defined = phi_A && theta_A;