Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef TPCTRACKRECO_TPCASSEMBLEDTRACKCONTAINERV1_H
0004 #define TPCTRACKRECO_TPCASSEMBLEDTRACKCONTAINERV1_H
0005 
0006 #include "Tpc_AssembledTrackContainer.h"
0007 
0008 #include <iostream>
0009 #include <vector>
0010 
0011 class Tpc_AssembledTrack;
0012 
0013 class Tpc_AssembledTrackContainerv1 : public Tpc_AssembledTrackContainer
0014 {
0015  public:
0016   Tpc_AssembledTrackContainerv1();
0017   ~Tpc_AssembledTrackContainerv1() override;
0018 
0019   void identify(std::ostream& os = std::cout) const override;
0020   void Reset() override;
0021   int isValid() const override;
0022   PHObject* CloneMe() const override;
0023 
0024   unsigned int size() const override
0025   {
0026     return static_cast<unsigned int>(m_tracks.size());
0027   }
0028 
0029   void add_track(Tpc_AssembledTrack* trk) override
0030   {
0031     m_tracks.push_back(trk);
0032   }
0033 
0034   const Tpc_AssembledTrack* get_track(unsigned int i) const override
0035   {
0036     if (i >= m_tracks.size()) return nullptr;
0037     return m_tracks[i];
0038   }
0039 
0040   Tpc_AssembledTrack* get_track(unsigned int i) override
0041   {
0042     if (i >= m_tracks.size()) return nullptr;
0043     return m_tracks[i];
0044   }
0045 
0046  private:
0047   std::vector<Tpc_AssembledTrack*> m_tracks;
0048 
0049   ClassDefOverride(Tpc_AssembledTrackContainerv1, 1)
0050 };
0051 #endif