Newer
Older
TB_Chris / TbEvent / src / .svn / text-base / TbTrack.cpp.svn-base
  1. #include "Event/TbTrack.h"
  2.  
  3. using namespace LHCb;
  4.  
  5. //=============================================================================
  6. // Track copy constructor
  7. //=============================================================================
  8. TbTrack::TbTrack(const LHCb::TbTrack& rhs) :
  9. KeyedObject<int>(),
  10. m_time(rhs.m_time),
  11. m_htime(rhs.m_htime),
  12. m_firstState(rhs.m_firstState),
  13. m_chi2PerNdof(rhs.m_chi2PerNdof),
  14. m_ndof(rhs.m_ndof),
  15. m_clusters(rhs.m_clusters),
  16. m_triggers(rhs.m_triggers),
  17. m_associatedClusters(rhs.m_associatedClusters) {
  18.  
  19. // Copy the states
  20. for (auto it = rhs.m_states.begin(), end = rhs.m_states.end(); it != end; ++it) {
  21. addToStates(*it);
  22. }
  23. }
  24.  
  25.  
  26. //=============================================================================
  27. // Track clone method
  28. //=============================================================================
  29. TbTrack* TbTrack::clone() {
  30. TbTrack* track = new TbTrack();
  31. track->setTime(time());
  32. track->setHtime(htime());
  33. track->setFirstState(firstState());
  34. track->setChi2PerNdof(chi2PerNdof());
  35. track->setNdof(ndof());
  36.  
  37. // Copy the states
  38. for (auto it = m_states.begin(), end = m_states.end(); it != end; ++it) {
  39. track->addToStates(*it);
  40. }
  41.  
  42. return track;
  43. }
  44.  
  45. //=============================================================================
  46. // States clone method
  47. //=============================================================================
  48. void TbTrack::addToStates(const TbState& state) {
  49. m_states.push_back(state);
  50. }
  51.  
  52. //=============================================================================
  53. // Clear the states
  54. //=============================================================================
  55. void TbTrack::clearStates() {
  56. m_states.clear() ;
  57. }