Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef RHOBASE_TOWERRHO_H
0002 #define RHOBASE_TOWERRHO_H
0003 
0004 //===========================================================
0005 /// \file TowerRho.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 
0014 /// \class TowerRho
0015 ///
0016 /// \brief PHObject to store rho and sigma for calorimeter towers on an event-by-event basis
0017 ///
0018 /// This class is a PHObject to store rho and sigma for calorimeter towers on an event-by-event basis
0019 /// Options for rho calculation are AREA and MULT or NONE
0020 
0021 class TowerRho : public PHObject
0022 {
0023   public:
0024 
0025     // enum for method of rho calculation
0026     enum Method
0027     {
0028       NONE = 0,
0029       AREA = 1,
0030       MULT = 2
0031     };
0032 
0033     ~TowerRho() override{};
0034 
0035     void identify(std::ostream &os = std::cout) const override { os << "TowerRho base class" << std::endl; };
0036     int isValid() const override { return 0; }
0037 
0038     // setters
0039     virtual void set_rho(float /*rho*/) {} 
0040     virtual void set_sigma(float /*sigma*/) {}
0041     virtual void set_method(TowerRho::Method /*rho_method*/) {}
0042     
0043     // getters
0044     virtual float get_rho() { return 0; }
0045     virtual float get_sigma() { return 0; }
0046     virtual TowerRho::Method get_method() { return Method::NONE; }
0047 
0048 
0049   protected:
0050     
0051     TowerRho() {} // ctor
0052 
0053   private:
0054     
0055     ClassDefOverride(TowerRho, 1);
0056 };
0057 
0058 #endif // RHOBASE_TOWERRHO_H