Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-08-31 08:21:22

0001 #include "Tpc_ModuleTrackContainerv1.h"
0002 #include "Tpc_ModuleTrack.h"
0003 
0004 Tpc_ModuleTrackContainerv1::Tpc_ModuleTrackContainerv1()
0005 {
0006   Reset();
0007 }
0008 
0009 Tpc_ModuleTrackContainerv1::~Tpc_ModuleTrackContainerv1()
0010 {
0011   Reset();
0012 }
0013 
0014 void Tpc_ModuleTrackContainerv1::identify(std::ostream& os) const
0015 {
0016   os << "Tpc_ModuleTrackContainerv1 with "
0017      << m_tracks.size()
0018      << " in-module tracks"
0019      << std::endl;
0020 }
0021 
0022 void Tpc_ModuleTrackContainerv1::Reset()
0023 {
0024   for (auto* trk : m_tracks)
0025   {
0026     delete trk;
0027   }
0028   m_tracks.clear();
0029 }
0030 
0031 int Tpc_ModuleTrackContainerv1::isValid() const
0032 {
0033   return m_tracks.empty() ? 0 : 1;
0034 }
0035 
0036 PHObject* Tpc_ModuleTrackContainerv1::CloneMe() const
0037 {
0038   // Deep copy: clone each owned track.
0039   auto* copy = new Tpc_ModuleTrackContainerv1();
0040   for (const auto* trk : m_tracks)
0041   {
0042     copy->m_tracks.push_back(static_cast<Tpc_ModuleTrack*>(trk->CloneMe()));
0043   }
0044   return copy;
0045 }