SingleJetGrouper Node1 SingleJetGrouper - m_size - m_index + SingleJetGrouper() + SingleJetGrouper() + SingleJetGrouper() + next() + getName() + toString() Node2 IJetGrouper + ~IJetGrouper() + next() + toString() + getName() Node2->Node1 Node3 std::vector< pHypoJet > Node3->Node1 -m_jets Node4 std::shared_ptr< T > + operator->() Node4->Node3 +elements Node5 T Node5->Node4 +ptr