File indexing completed on 2025-08-05 08:18:19
0001 #ifndef G4TRACKING_TRKRTRUTHTRACKCONTAINER_H
0002 #define G4TRACKING_TRKRTRUTHTRACKCONTAINER_H
0003
0004 #include <phool/PHObject.h>
0005 #include <trackbase/TrkrDefs.h>
0006 #include <map>
0007 #include <vector>
0008
0009 class PHG4TruthInfoContainer;
0010 class TrkrTruthTrack;
0011
0012 class TrkrTruthTrackContainer : public PHObject
0013 {
0014 public:
0015
0016 using Map = std::map<unsigned int, TrkrTruthTrack*>;
0017 using Iterator = Map::iterator;
0018 using ConstIterator = Map::const_iterator;
0019 using Range = std::pair<Iterator, Iterator>;
0020 using ConstRange = std::pair<ConstIterator, ConstIterator>;
0021
0022
0023 void Reset() override {}
0024
0025
0026 virtual void addTruthTrack(TrkrTruthTrack*){};
0027 virtual TrkrTruthTrack* getTruthTrack(unsigned int ) { return nullptr; };
0028 virtual TrkrTruthTrack* getTruthTrack(unsigned int , PHG4TruthInfoContainer*)
0029 {
0030 return nullptr;
0031 };
0032 virtual ConstRange getTruthTrackRange() const;
0033 virtual bool hasTrackid(unsigned int ) const { return false; };
0034 virtual Map& getMap();
0035
0036
0037 void identify(std::ostream& os = std::cout) const override
0038 {
0039 os << "TrkrTruthTrackContainer base class" << std::endl;
0040 };
0041
0042 protected:
0043 TrkrTruthTrackContainer() = default;
0044 ClassDefOverride(TrkrTruthTrackContainer, 1)
0045 };
0046
0047 #endif