Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:45

0001 #ifndef JETBASE_JETALGO_H
0002 #define JETBASE_JETALGO_H
0003 
0004 #include "Jet.h"
0005 
0006 #include <limits>
0007 
0008 class JetContainer;
0009 class JetAlgo
0010 {
0011  public:
0012   virtual ~JetAlgo() = default;
0013 
0014   virtual void identify(std::ostream& os = std::cout)
0015   {
0016     os << "JetAlgo base class" << std::endl;
0017   }
0018 
0019   virtual Jet::ALGO get_algo() { return Jet::NONE; }
0020   virtual float get_par() { return std::numeric_limits<float>::quiet_NaN(); }
0021 
0022   // old version -- get jets to fill into JetMap
0023   virtual std::vector<Jet*> get_jets(std::vector<Jet*> /* particles*/)  // ? Why isn't this passed as a reference?
0024   {
0025     return std::vector<Jet*>();
0026   }
0027 
0028   // new version -- pass JetContainer into clusterFillJets to fill it
0029   virtual void cluster_and_fill(std::vector<Jet*>& /* particles*/, JetContainer* /*clones*/)
0030   {
0031   }
0032 
0033   virtual std::map<Jet::PROPERTY, unsigned int>& property_indices();
0034 
0035  protected:
0036   JetAlgo() = default;
0037 };
0038 
0039 #endif