File indexing completed on 2025-08-06 08:18:13
0001 #ifndef TRACKBASEHISTORIC_SVTXPHG4PARTICLEMAP_H
0002 #define TRACKBASEHISTORIC_SVTXPHG4PARTICLEMAP_H
0003
0004 #include <phool/PHObject.h>
0005
0006 #include <iostream>
0007 #include <map>
0008 #include <set>
0009
0010 class SvtxPHG4ParticleMap : public PHObject
0011 {
0012 public:
0013
0014 typedef std::map<float, std::set<int>> WeightedTruthTrackMap;
0015 typedef std::map<unsigned int, WeightedTruthTrackMap> Map;
0016 typedef std::map<unsigned int, WeightedTruthTrackMap>::const_iterator ConstIter;
0017 typedef std::map<unsigned int, WeightedTruthTrackMap>::iterator Iter;
0018
0019 ~SvtxPHG4ParticleMap() override {}
0020
0021 void identify(std::ostream& os = std::cout) const override
0022 {
0023 os << "SvtxPHG4ParticleMap base class " << std::endl;
0024 }
0025
0026 int isValid() const override { return 0; }
0027 PHObject* CloneMe() const override { return nullptr; }
0028 void Reset() override {}
0029 virtual bool empty() const { return true; }
0030 virtual std::size_t size() const { return 0; }
0031 virtual std::size_t count(const unsigned int) const { return 0; }
0032 virtual void clear() {}
0033
0034 virtual bool processed() const { return false; }
0035 virtual void setProcessed(const bool) {}
0036
0037 virtual const WeightedTruthTrackMap& get(const unsigned int) const;
0038 virtual WeightedTruthTrackMap& get(const unsigned int);
0039 virtual WeightedTruthTrackMap insert(const unsigned int, const WeightedTruthTrackMap);
0040 virtual std::size_t erase(const unsigned int) { return 0; }
0041
0042 virtual ConstIter begin() const;
0043 virtual ConstIter find(const unsigned int) const;
0044 virtual ConstIter end() const;
0045
0046 virtual Iter begin();
0047 virtual Iter find(const unsigned int);
0048 virtual Iter end();
0049
0050 protected:
0051 SvtxPHG4ParticleMap() {}
0052
0053 private:
0054 ClassDefOverride(SvtxPHG4ParticleMap, 1);
0055 };
0056
0057 #endif