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