Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:14:20

0001 #ifndef RANDOMCONES_RANDOMCONE_H
0002 #define RANDOMCONES_RANDOMCONE_H
0003 
0004 //===========================================================
0005 /// \file RandomCone.h
0006 /// \brief PHObject to store rho and sigma for calorimeter towers on an event-by-event basis
0007 /// \author Tanner Mengel
0008 //===========================================================
0009 
0010 #include <phool/PHObject.h>
0011 
0012 #include <iostream>
0013 #include <vector>
0014 #include <utility>
0015 
0016 
0017 #include <jetbase/Jet.h>
0018 
0019 /// \class RandomCone
0020 ///
0021 /// \brief PHObject to store cone constituents and properties
0022 ///
0023 
0024 class RandomCone : public PHObject
0025 {
0026   public:
0027 
0028     enum ConeType
0029     {
0030       VOID = 0,
0031       BASIC = 1,
0032       RANDOMIZE_INPUT_ETAPHI = 2,
0033       AVOID_LEAD_JET = 3,
0034     };
0035 
0036     ~RandomCone() override{};
0037 
0038     void identify(std::ostream &os = std::cout) const override { os << "RandomCone base class" << std::endl; };
0039     int isValid() const override { return 0; }
0040 
0041     // setters
0042     virtual void add_constituent(Jet * /*jet*/) { return; }
0043     virtual void set_eta(float /*eta*/) { return; }
0044     virtual void set_phi(float /*phi*/) { return; }
0045     
0046     virtual void set_R(float /*R*/) { return; }
0047 
0048     virtual void set_cone_type(ConeType /*cone_type*/) { return; }
0049 
0050     // getters
0051     virtual float get_pt() const { return 0; }
0052     
0053     virtual float get_eta() const { return 0; }
0054     virtual float get_phi() const { return 0; }
0055 
0056     virtual float get_R() const { return 0; }
0057     virtual float get_area() const { return 0; }
0058 
0059     virtual ConeType get_cone_type() const { return ConeType::VOID; }
0060 
0061     virtual int n_clustered() const { return 0; }
0062       
0063 
0064   protected:
0065     
0066     RandomCone() {} // ctor
0067 
0068   private:
0069     
0070     ClassDefOverride(RandomCone, 1);
0071 };
0072 
0073 #endif // RANDOMCONES_RANDOMCONE_H