HepMC3 event record library
Selector.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // This file is part of HepMC
4 // Copyright (C) 2014-2019 The HepMC collaboration (see AUTHORS for details)
5 //
6 ///
7 /// @file Selector.cc
8 /// @brief Implementation of Selector wrappers
9 ///
10 #include "HepMC3/Selector.h"
11 
12 namespace HepMC3 {
13  const SelectorWrapper<int> Selector::STATUS = SelectorWrapper<int>([](ConstGenParticlePtr p)->int{return p->status();});
14  const SelectorWrapper<int> Selector::PDG_ID = SelectorWrapper<int>([](ConstGenParticlePtr p)->int{return p->pdg_id();});
15  const SelectorWrapper<double> Selector::PT = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().pt();});
16  const SelectorWrapper<double> Selector::ENERGY = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().e();});
17  const SelectorWrapper<double> Selector::RAPIDITY = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().rap();});
18  const SelectorWrapper<double> Selector::ETA = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().eta();});
19  const SelectorWrapper<double> Selector::PHI = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().phi();});
20  const SelectorWrapper<double> Selector::ET = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().e() * (p->momentum().pt() / p->momentum().p3mod());});
21  const SelectorWrapper<double> Selector::MASS = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().m();});
22 
23 
24 
25  ConstSelectorPtr abs(const Selector &input)
26  {
27  return input.abs();
28  }
29 
30 
31  AttributeFeature Selector::ATTRIBUTE(const std::string &name){return AttributeFeature(name);}
32 
33 }
34 
HepMC3 main namespace.
Definition: WriterDOT.h:19
definition of /b Selector class
Feature< Feature_type > abs(const Feature< Feature_type > &input)
Obtain the absolute value of a Feature. This works as you'd expect. If foo is a valid Feature,...
Definition: Feature.h:316