Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef JETBACKGROUND_TOWERRHOV1_H
0002 #define JETBACKGROUND_TOWERRHOV1_H
0003 
0004 //===========================================================
0005 /// \file TowerRhov1.h
0006 /// \brief updated TowerRho class with method and sigma
0007 /// \author Tanner Mengel
0008 //===========================================================
0009 
0010 #include "TowerRho.h"
0011 
0012 class TowerRhov1 : public TowerRho
0013 {
0014  public:
0015   TowerRhov1();
0016   ~TowerRhov1() override = default;
0017 
0018   void identify(std::ostream &os = std::cout) const override;
0019   void Reset() override {}  // new in v1
0020   int isValid() const override { return 1; }
0021 
0022   // setters
0023   void set_rho(float rho) override { m_tower_rho = rho; }
0024   void set_sigma(float sigma) override { m_tower_sigma = sigma; }
0025   void set_method(TowerRho::Method method) override;
0026 
0027   // getters
0028   float get_rho() override { return m_tower_rho; }
0029   float get_sigma() override { return m_tower_sigma; }
0030   TowerRho::Method get_method() override { return m_rho_method_type; }
0031 
0032   // static method to string conversion
0033   static std::string get_method_string(TowerRho::Method method);  // new in v1
0034 
0035  private:
0036   float m_tower_rho{0};                                        // momentum density
0037   float m_tower_sigma{0};                                      // sigma of momentum density
0038   TowerRho::Method m_rho_method_type{TowerRho::Method::NONE};  // method of rho calculation
0039 
0040   ClassDefOverride(TowerRhov1, 1);
0041 };
0042 
0043 #endif  // JETBACKGROUND_TOWERRHOV1_H