File indexing completed on 2025-08-05 08:18:04
0001 #ifndef G4HISTOS_G4ROOTSCINTILLATORSLATCONTAINER_H
0002 #define G4HISTOS_G4ROOTSCINTILLATORSLATCONTAINER_H
0003
0004 #include <phool/PHObject.h>
0005
0006 #include <iostream> // for cout, ostream
0007 #include <limits>
0008
0009 class PHG4ScintillatorSlat;
0010 class G4RootScintillatorSlat;
0011 class TClonesArray;
0012
0013 class G4RootScintillatorSlatContainer : public PHObject
0014 {
0015 public:
0016 G4RootScintillatorSlatContainer();
0017 ~G4RootScintillatorSlatContainer() override;
0018
0019 void identify(std::ostream& os = std::cout) const override;
0020 void Reset() override;
0021
0022 G4RootScintillatorSlat* AddSlat(const PHG4ScintillatorSlat& slat);
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* SnglSlats{nullptr};
0046
0047 ClassDefOverride(G4RootScintillatorSlatContainer, 1)
0048 };
0049
0050 #endif