File indexing completed on 2025-08-06 08:18:15
0001 #ifndef TRACKBASEHISTORIC_SVTXTRACKCALOCLUSTERMAPV1_H
0002 #define TRACKBASEHISTORIC_SVTXTRACKCALOCLUSTERMAPV1_H
0003
0004 #include "SvtxTrackCaloClusterMap.h"
0005
0006 #include <cstddef> // for size_t
0007 #include <iostream> // for cout, ostream
0008
0009 class PHObject;
0010
0011 class SvtxTrackCaloClusterMap_v1 : public SvtxTrackCaloClusterMap
0012 {
0013 public:
0014 SvtxTrackCaloClusterMap_v1();
0015 SvtxTrackCaloClusterMap_v1(const SvtxTrackCaloClusterMap_v1& map);
0016 SvtxTrackCaloClusterMap_v1& operator=(const SvtxTrackCaloClusterMap_v1& map);
0017 ~SvtxTrackCaloClusterMap_v1() override;
0018
0019 void identify(std::ostream& os = std::cout) const override;
0020
0021 void Reset() override;
0022 int isValid() const override { return 1; }
0023 PHObject* CloneMe() const override { return new SvtxTrackCaloClusterMap_v1(*this); }
0024
0025 bool empty() const override { return _map.empty(); }
0026 size_t size() const override { return _map.size(); }
0027 void clear() override { Reset(); }
0028
0029 const std::vector<RawCluster*> get(SvtxTrack* track) const override;
0030 std::vector<RawCluster*> get(SvtxTrack* track) override;
0031 std::vector<RawCluster*> insert(SvtxTrack* track, std::vector<RawCluster*> clusters) override;
0032 std::vector<RawCluster*> insert(SvtxTrack* track, RawCluster* clus) override;
0033 size_t erase(SvtxTrack* track) override;
0034
0035 ConstIter begin() const override { return _map.begin(); }
0036 ConstIter find(SvtxTrack* track) const override { return _map.find(track); }
0037 ConstIter end() const override { return _map.end(); }
0038
0039 Iter begin() override { return _map.begin(); }
0040 Iter find(SvtxTrack* track) override { return _map.find(track); }
0041 Iter end() override { return _map.end(); }
0042
0043 private:
0044 Map _map;
0045
0046 ClassDefOverride(SvtxTrackCaloClusterMap_v1, 1);
0047 };
0048
0049 #endif