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
0037
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