File indexing completed on 2025-08-06 08:19:02
0001
0002
0003 #ifndef G4DETECTORS_PHG4SCINTILLATORSLAT_H
0004 #define G4DETECTORS_PHG4SCINTILLATORSLAT_H
0005
0006 #include "PHG4ScintillatorSlatDefs.h"
0007
0008 #include <g4main/PHG4HitDefs.h>
0009 #include <phool/PHObject.h>
0010 #include <cmath>
0011 #include <map>
0012 #include <set>
0013
0014 class PHG4ScintillatorSlat : public PHObject
0015 {
0016 public:
0017 ~PHG4ScintillatorSlat() override {}
0018
0019
0020 void identify(std::ostream& os = std::cout) const override
0021 {
0022 os << "PHG4ScintillatorSlat base class" << std::endl;
0023 }
0024
0025 virtual void add_edep(const double , const double , const double ) { return; }
0026
0027 virtual void set_key(const PHG4ScintillatorSlatDefs::keytype) { return; }
0028 virtual void add_hit_key(PHG4HitDefs::keytype) { return; }
0029
0030 virtual short get_column() const { return -1; }
0031 virtual short get_row() const { return -1; }
0032 virtual PHG4ScintillatorSlatDefs::keytype get_key() const { return 0xFFFFFFFF; }
0033
0034 virtual double get_edep() const { return NAN; }
0035 virtual double get_eion() const { return NAN; }
0036 virtual double get_light_yield() const { return NAN; }
0037 virtual std::pair<std::set<PHG4HitDefs::keytype>::const_iterator, std::set<PHG4HitDefs::keytype>::const_iterator> get_hit_ids() const = 0;
0038
0039 protected:
0040 PHG4ScintillatorSlat() {}
0041 ClassDefOverride(PHG4ScintillatorSlat, 1)
0042 };
0043
0044 #endif