File indexing completed on 2025-12-16 09:19:54
0001 #ifndef DECAYFINDER_DECAYFINDERCONTAINERBASE_H
0002 #define DECAYFINDER_DECAYFINDERCONTAINERBASE_H
0003
0004 #include <phool/PHObject.h>
0005
0006 #include <cstddef> // for size_t
0007 #include <iostream> // for cout, ostream
0008 #include <map>
0009 #include <utility> // for pair
0010 #include <vector>
0011
0012
0013
0014
0015
0016
0017
0018 class DecayFinderContainerBase : public PHObject
0019 {
0020 public:
0021
0022
0023 using Decay = std::vector<std::pair<std::pair<int, int>, int>>;
0024 using Map = std::map<unsigned int, Decay>;
0025 using ConstIter = Map::const_iterator;
0026 using Iter = Map::iterator;
0027
0028 ~DecayFinderContainerBase() override = default;
0029
0030 void identify(std::ostream& os = std::cout) const override
0031 {
0032 os << "DecayFinderContainer base class" << std::endl;
0033 }
0034 void Reset() override;
0035 int isValid() const override { return 0; }
0036 PHObject* CloneMe() const override { return nullptr; }
0037
0038 virtual bool empty() const { return true; }
0039 virtual size_t size() const { return 0; }
0040 virtual size_t count(unsigned int ) const { return 0; }
0041 virtual void clear();
0042
0043 virtual const Decay get(unsigned int) const;
0044 virtual Decay get(unsigned int);
0045
0046 virtual ConstIter begin() const;
0047 virtual ConstIter find(unsigned int) const;
0048 virtual ConstIter end() const;
0049
0050 virtual Iter begin();
0051 virtual Iter find(unsigned int);
0052 virtual Iter end();
0053
0054 virtual Decay insert(const Decay&);
0055
0056 virtual Map returnDecaysByPDGid(int);
0057
0058 virtual size_t erase(unsigned int key);
0059
0060 protected:
0061 DecayFinderContainerBase() = default;
0062
0063 private:
0064 ClassDefOverride(DecayFinderContainerBase, 1);
0065 };
0066
0067 #endif