Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JetAlgo.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file JetAlgo.h
1 #ifndef JETBASE_JETALGO_H
2 #define JETBASE_JETALGO_H
3 
4 #include "Jet.h"
5 
6 #include <cmath>
7 
8 class JetContainer;
9 class JetAlgo
10 {
11  public:
12  virtual ~JetAlgo() {}
13 
14  virtual void identify(std::ostream& os = std::cout)
15  {
16  os << "JetAlgo base class" << std::endl;
17  }
18 
19  virtual Jet::ALGO get_algo() { return Jet::NONE; }
20  virtual float get_par() { return NAN; }
21 
22  // old version -- get jets to fill into JetMap
23  virtual std::vector<Jet*> get_jets(std::vector<Jet*> /* particles*/) // ? Why isn't this passed as a reference?
24  {
25  return std::vector<Jet*>();
26  }
27 
28  // new version -- pass JetContainer into clusterFillJets to fill it
29  virtual void cluster_and_fill(std::vector<Jet*>& /* particles*/, JetContainer* /*clones*/)
30  { }
31 
32  virtual std::map<Jet::PROPERTY, unsigned int>& property_indices();
33 
34  protected:
35  JetAlgo() {}
36 
37  private:
38 };
39 
40 #endif