#include "Event/TbTrack.h" using namespace LHCb; //============================================================================= // Track copy constructor //============================================================================= TbTrack::TbTrack(const LHCb::TbTrack& rhs) : KeyedObject<int>(), m_time(rhs.m_time), m_htime(rhs.m_htime), m_firstState(rhs.m_firstState), m_chi2PerNdof(rhs.m_chi2PerNdof), m_ndof(rhs.m_ndof), m_clusters(rhs.m_clusters), m_triggers(rhs.m_triggers), m_associatedClusters(rhs.m_associatedClusters) { // Copy the states for (auto it = rhs.m_states.begin(), end = rhs.m_states.end(); it != end; ++it) { addToStates(*it); } } //============================================================================= // Track clone method //============================================================================= TbTrack* TbTrack::clone() { TbTrack* track = new TbTrack(); track->setTime(time()); track->setHtime(htime()); track->setFirstState(firstState()); track->setChi2PerNdof(chi2PerNdof()); track->setNdof(ndof()); // Copy the states for (auto it = m_states.begin(), end = m_states.end(); it != end; ++it) { track->addToStates(*it); } return track; } //============================================================================= // States clone method //============================================================================= void TbTrack::addToStates(const TbState& state) { m_states.push_back(state); } //============================================================================= // Clear the states //============================================================================= void TbTrack::clearStates() { m_states.clear() ; }