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