Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:13

0001 #ifndef TRACKBASEHISTORIC_SVTXPHG4PARTICLEMAP_H
0002 #define TRACKBASEHISTORIC_SVTXPHG4PARTICLEMAP_H
0003 
0004 #include <phool/PHObject.h>
0005 
0006 #include <iostream>
0007 #include <map>
0008 #include <set>
0009 
0010 class SvtxPHG4ParticleMap : public PHObject
0011 {
0012  public:
0013   /// Reco->Truth map with structure <reco track key, std::map< weight, std::set<g4part id>>>
0014   typedef std::map<float, std::set<int>> WeightedTruthTrackMap;
0015   typedef std::map<unsigned int, WeightedTruthTrackMap> Map;
0016   typedef std::map<unsigned int, WeightedTruthTrackMap>::const_iterator ConstIter;
0017   typedef std::map<unsigned int, WeightedTruthTrackMap>::iterator Iter;
0018 
0019   ~SvtxPHG4ParticleMap() override {}
0020 
0021   void identify(std::ostream& os = std::cout) const override
0022   {
0023     os << "SvtxPHG4ParticleMap base class " << std::endl;
0024   }
0025 
0026   int isValid() const override { return 0; }
0027   PHObject* CloneMe() const override { return nullptr; }
0028   void Reset() override {}
0029   virtual bool empty() const { return true; }
0030   virtual std::size_t size() const { return 0; }
0031   virtual std::size_t count(const unsigned int) const { return 0; }
0032   virtual void clear() {}
0033 
0034   virtual bool processed() const { return false; }
0035   virtual void setProcessed(const bool) {}
0036 
0037   virtual const WeightedTruthTrackMap& get(const unsigned int) const;
0038   virtual WeightedTruthTrackMap& get(const unsigned int);
0039   virtual WeightedTruthTrackMap insert(const unsigned int, const WeightedTruthTrackMap);
0040   virtual std::size_t erase(const unsigned int) { return 0; }
0041 
0042   virtual ConstIter begin() const;
0043   virtual ConstIter find(const unsigned int) const;
0044   virtual ConstIter end() const;
0045 
0046   virtual Iter begin();
0047   virtual Iter find(const unsigned int);
0048   virtual Iter end();
0049 
0050  protected:
0051   SvtxPHG4ParticleMap() {}
0052 
0053  private:
0054   ClassDefOverride(SvtxPHG4ParticleMap, 1);
0055 };
0056 
0057 #endif