Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:07

0001 #ifndef TRACKBASEHISTORIC_TRACKSEEDCONTAINER_H
0002 #define TRACKBASEHISTORIC_TRACKSEEDCONTAINER_H
0003 
0004 #include "TrackSeed.h"
0005 
0006 #include <phool/PHObject.h>
0007 
0008 #include <iostream>
0009 #include <vector>
0010 
0011 class TrackSeedContainer : public PHObject
0012 {
0013  public:
0014   typedef std::vector<TrackSeed*> Container;
0015   typedef std::vector<TrackSeed*>::const_iterator ConstIter;
0016   typedef std::vector<TrackSeed*>::iterator Iter;
0017 
0018   ~TrackSeedContainer() override {}
0019 
0020   void identify(std::ostream& os = std::cout) const override
0021   {
0022     os << "TrackSeedContainer base class" << std::endl;
0023   }
0024   int isValid() const override { return 0; }
0025   PHObject* CloneMe() const override { return nullptr; }
0026 
0027   virtual bool empty() const { return true; }
0028   virtual std::size_t size() const { return 0; }
0029   virtual void clear() {}
0030 
0031   virtual const TrackSeed* get(const std::size_t) const { return nullptr; }
0032   virtual TrackSeed* get(const std::size_t) { return nullptr; }
0033   virtual TrackSeed* insert(const TrackSeed*) { return nullptr; }
0034   virtual void erase(const std::size_t) {}
0035 
0036   /// Interface to return the index corresponding to the
0037   /// track id of the container
0038   virtual std::size_t index(ConstIter) const { return 0; }
0039   virtual std::size_t index(Iter) const { return 0; }
0040 
0041   virtual ConstIter begin() const;
0042   virtual ConstIter find(const std::size_t key) const;
0043   virtual std::size_t find(const TrackSeed*) const { return 0; }
0044   virtual ConstIter end() const;
0045 
0046   virtual Iter begin();
0047   virtual Iter find(const std::size_t key);
0048   virtual std::size_t find(const TrackSeed*) { return 0; }
0049   virtual Iter end();
0050 
0051  protected:
0052   TrackSeedContainer() {}
0053 
0054  private:
0055   ClassDefOverride(TrackSeedContainer, 1);
0056 };
0057 
0058 #endif