Back to home page

sPhenix code displayed by LXR

 
 

    


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   // using Vector = std::vector<TrkrTruthTrack*>;
0016   using Map = std::map<unsigned int, TrkrTruthTrack*>;
0017   using Iterator = Map::iterator;  // Vector::iterator;
0018   using ConstIterator = Map::const_iterator;
0019   using Range = std::pair<Iterator, Iterator>;
0020   using ConstRange = std::pair<ConstIterator, ConstIterator>;
0021 
0022   //! reset method
0023   void Reset() override {}
0024 
0025   //! add a Track
0026   virtual void addTruthTrack(TrkrTruthTrack*){};
0027   virtual TrkrTruthTrack* getTruthTrack(unsigned int /*trackid*/) { return nullptr; };
0028   virtual TrkrTruthTrack* getTruthTrack(unsigned int /*trackid*/, PHG4TruthInfoContainer*)
0029   {
0030     return nullptr;
0031   };
0032   virtual ConstRange getTruthTrackRange() const;
0033   virtual bool hasTrackid(unsigned int /*trackid*/) const { return false; };
0034   virtual Map& getMap();
0035 
0036   // PHObject virtual overload
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  // G4TRACKING_TRUTHTRACKCONTAINER_H