Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef RANDOMCONES_RANDOMCONEV1_H
0002 #define RANDOMCONES_RANDOMCONEV1_H
0003 
0004 
0005 //===========================================================
0006 /// \file RandomConev1.h
0007 /// \author Tanner Mengel
0008 //===========================================================
0009 
0010 #include "RandomCone.h"
0011 
0012 #include <iostream>
0013 #include <string>
0014 #include <vector>
0015 #include <utility>
0016 #include <cmath>
0017 
0018 #include <jetbase/Jet.h>
0019 
0020 class RandomConev1 : public RandomCone
0021 {
0022   public:
0023 
0024     RandomConev1() {};
0025     ~RandomConev1() override {}
0026 
0027     void identify(std::ostream &os = std::cout) const override;
0028     void Reset() override; // new in v1
0029     int isValid() const override { return 1; }
0030 
0031     void add_constituent(Jet * particle) override;
0032 
0033     void set_eta(float eta) override { m_eta = eta; }
0034     void set_phi(float phi) override { m_phi = phi; }
0035     void set_R(float R) override { m_R = R; }
0036 
0037     void set_cone_type(RandomCone::ConeType cone_type) override { m_cone_type = cone_type; }
0038 
0039     float get_pt() const override { return m_pt; }
0040     float get_eta() const override { return m_eta; }
0041     float get_phi() const override { return m_phi; }
0042 
0043     float get_R() const override { return m_R; }
0044     float get_area() const override { return M_PI*m_R*m_R; }
0045 
0046     RandomCone::ConeType get_cone_type() const override { return m_cone_type; }
0047 
0048     int n_clustered() const override { return _comp_ids.size(); }
0049     std::vector<std::pair<Jet::SRC, unsigned int>> & get_comp_vec() { return _comp_ids; }
0050 
0051   private:
0052 
0053     RandomCone::ConeType m_cone_type{RandomCone::ConeType::VOID};
0054   
0055     float m_pt{0.0};
0056     float m_eta{NAN};
0057     float m_phi{NAN};
0058     float m_R{NAN};
0059 
0060     std::vector<std::pair<Jet::SRC, unsigned int>> _comp_ids {};
0061 
0062 
0063 
0064     ClassDefOverride(RandomConev1, 1);
0065 };
0066 
0067 #endif // RHOBASE_TOWERRHOV1_H