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