Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:19:16

0001 #ifndef G4HISTOS_G4ROOTSCINTILLATORTOWERCONTAINER_H
0002 #define G4HISTOS_G4ROOTSCINTILLATORTOWERCONTAINER_H
0003 
0004 #include <phool/PHObject.h>
0005 
0006 #include <iostream>  // for cout, ostream
0007 #include <limits>
0008 
0009 class G4RootScintillatorTower;
0010 class TowerInfo;
0011 class TClonesArray;
0012 
0013 class G4RootScintillatorTowerContainer : public PHObject
0014 {
0015  public:
0016   G4RootScintillatorTowerContainer();
0017   ~G4RootScintillatorTowerContainer() override;
0018 
0019   void Reset() override;
0020   void identify(std::ostream& os = std::cout) const override;
0021 
0022   G4RootScintillatorTower* AddTower(double towerenergy, int ieta, int iphi);
0023 
0024   void set_idet(const int i) { idet = i; }
0025   int get_idet() const { return idet; }
0026 
0027   void set_etotal(const float e) { etotal = e; }
0028   float get_etotal() const { return etotal; }
0029 
0030   void set_eion(const float e) { eion = e; }
0031   float get_eion() const { return eion; }
0032 
0033   void set_leakage(const float f) { leakage = f; }
0034   float get_leakage() const { return leakage; }
0035 
0036   void set_event(const int i) { event = i; }
0037   int get_event() const { return event; }
0038 
0039  protected:
0040   int idet{std::numeric_limits<int>::min()};
0041   float etotal{std::numeric_limits<float>::quiet_NaN()};
0042   float eion{std::numeric_limits<float>::quiet_NaN()};
0043   float leakage{std::numeric_limits<float>::quiet_NaN()};
0044   int event{0};
0045   TClonesArray* SnglTowers{nullptr};
0046 
0047   ClassDefOverride(G4RootScintillatorTowerContainer, 1)
0048 };
0049 
0050 #endif