Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #include <string>
0002 #include <vector>  // for vector
0003 
0004 class EmcModule;
0005 class TH1F;
0006 
0007 class BEmcProfile
0008 {
0009  public:
0010   explicit BEmcProfile(const std::string& fname);
0011 
0012   // delete copy ctor and assignment operator (cppcheck)
0013   explicit BEmcProfile(const BEmcProfile&) = delete;
0014   BEmcProfile& operator=(const BEmcProfile&) = delete;
0015 
0016   virtual ~BEmcProfile();
0017 
0018   float GetProb(std::vector<EmcModule>* plist, int NX, float en, float theta, float phi);
0019   static float GetTowerEnergy(int iy, int iz, std::vector<EmcModule>* plist, int nx);
0020   void PredictEnergy(int ip, float en, float theta, float phi, float ddz, float ddy, float& ep, float& err);
0021   float PredictEnergyR(float energy, float theta, float phi, float rr);
0022   //  float GetProbTest(std::vector<EmcModule>* plist, int NX, float en, float theta, float& test_rr, float& test_et, float& test_ep, float& test_err);
0023   bool IsLoaded() { return bloaded; }
0024   int Verbosity() const { return m_Verbosity; }
0025   void Verbosity(const int i) { m_Verbosity = i; }
0026 
0027  protected:
0028   bool bloaded;
0029 
0030   float thresh;
0031   int nen;
0032   int nth;
0033 
0034   float* energy_array;
0035   float* theta_array;
0036 
0037   TH1F** hmean;
0038   TH1F** hsigma;
0039   TH1F** hr4;
0040 
0041  private:
0042   int m_Verbosity;
0043 };