15inline int barcode(
const T* p){
return p->barcode(); }
17template <class T, std::enable_if_t< !std::is_pointer<T>::value &&
18 !std::is_same<T, HepMC3::GenParticlePtr>::value &&
19 !std::is_same<T, HepMC3::ConstGenParticlePtr>::value &&
20 !std::is_same<T, HepMC3::GenVertexPtr>::value &&
21 !std::is_same<T, HepMC3::ConstGenVertexPtr>::value &&
22 !std::is_same<T, HepMC3::GenVertex>::value &&
23 !std::is_same<T, HepMC3::GenParticle>::value &&
24 !std::is_same<T, int>::value
26inline int barcode(
const T& p){
return p.barcode();}
28template <
class T, std::enable_if_t<
29 std::is_same<T, HepMC3::GenParticlePtr>::value ||
30 std::is_same<T, HepMC3::ConstGenParticlePtr>::value ||
31 std::is_same<T, HepMC3::GenVertexPtr>::value ||
32 std::is_same<T, HepMC3::ConstGenVertexPtr>::value
36 const HepMC3::GenEvent* e = p->parent_event();
42template <
class T, std::enable_if_t<
43 std::is_same<T, HepMC3::GenParticle>::value ||
44 std::is_same<T, HepMC3::GenVertex>::value
47 const HepMC3::GenEvent* e = p.parent_event();