Back to home page

sPhenix code displayed by LXR

 
 

    


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

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