File indexing completed on 2025-08-03 08:17:11
0001 #ifndef JETBASE_JETMAP_H
0002 #define JETBASE_JETMAP_H
0003
0004 #include "Jet.h"
0005
0006 #include <phool/PHObject.h>
0007
0008 #include <cstddef> // for size_t
0009 #include <functional>
0010 #include <iostream>
0011 #include <limits>
0012 #include <map>
0013 #include <set>
0014 #include <vector>
0015
0016 class JetMap : public PHObject
0017 {
0018 public:
0019
0020 typedef std::map<unsigned int, Jet*> typ_JetMap;
0021 typedef typ_JetMap::const_iterator ConstIter;
0022 typedef typ_JetMap::iterator Iter;
0023
0024 typedef std::vector<Jet*> vec_JetMap;
0025
0026
0027 typedef std::set<Jet::SRC>::const_iterator ConstSrcIter;
0028 typedef std::set<Jet::SRC>::iterator SrcIter;
0029
0030 JetMap() = default;
0031 ~JetMap() override = default;
0032
0033 void identify(std::ostream& os = std::cout) const override;
0034 int isValid() const override { return 0; }
0035 PHObject* CloneMe() const override { return nullptr; }
0036
0037
0038
0039 virtual void set_algo(Jet::ALGO ) { return; }
0040 virtual Jet::ALGO get_algo() const { return Jet::NONE; }
0041
0042 virtual void set_par(float) { return; }
0043 virtual float get_par() const { return std::numeric_limits<float>::quiet_NaN(); }
0044
0045
0046
0047 virtual bool empty_src() const { return true; }
0048 virtual void insert_src(Jet::SRC ) { return; }
0049
0050 virtual ConstSrcIter begin_src() const;
0051 virtual ConstSrcIter find_src(Jet::SRC src) const;
0052 virtual ConstSrcIter end_src() const;
0053
0054 virtual SrcIter begin_src();
0055 virtual SrcIter find_src(Jet::SRC src);
0056 virtual SrcIter end_src();
0057
0058
0059
0060 virtual bool empty() const { return true; }
0061 virtual size_t size() const { return 0; }
0062 virtual size_t count(unsigned int ) const { return 0; }
0063 virtual void clear() { return; }
0064
0065 virtual const Jet* get(unsigned int ) const { return nullptr; }
0066 virtual Jet* get(unsigned int ) { return nullptr; }
0067
0068 virtual Jet* insert(Jet* ) { return nullptr; }
0069 virtual size_t erase(unsigned int ) { return 0; }
0070
0071 virtual ConstIter begin() const;
0072 virtual ConstIter find(unsigned int idkey) const;
0073 virtual ConstIter end() const;
0074
0075 virtual Iter begin();
0076 virtual Iter find(unsigned int idkey);
0077 virtual Iter end();
0078
0079 virtual std::vector<Jet*> vec() = 0;
0080
0081 private:
0082 ClassDefOverride(JetMap, 1);
0083 };
0084
0085 #endif