CompositeParticleNavigation navigable_type
publish the type of the base class (ie: 'traits-itize' it)
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
ConstituentsIter_t constituents_end() const
iterator over constituents of this composite
bool contains(const INavigable4Momentum *particle) const
check if a given particle is contained by this composite
void get_constituents(std::vector< const Element * > &cont) const
Fill a vector of elements with the constituents which compose that CompositeParticle.
void putElement(const INav4MomLink &ipart)
helper method to put elements into the underlying Navigable container
Navigable_t::object_iter ConstituentsIter_t
ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base > Base_t
virtual ~CompositeParticle()=default
Constructor with parameters:
std::vector< const INavigable4Momentum * > get_constituents() const
return the vector of constituents by value. FIXME: inefficient
const navigable_type & navigableBase() const
access to underlying base type (INavigable-like)
virtual double p2() const
square of momentum magnitude
const Element * get_constituent(std::size_t idx) const
Return a constituent given its index.
void add(const INav4MomLink &ipart)
bool contains(const INav4MomLink &ipart) const
check if a given particle is contained by this composite
Navigable< INavigable4MomentumCollection, double > CompositeParticleNavigation
ConstituentsIter_t constituents_begin() const
iterator over constituents of this composite