Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4ScintillatorSlatv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4ScintillatorSlatv1.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4SCINTILLATORSLATV1_H
4 #define G4DETECTORS_PHG4SCINTILLATORSLATV1_H
5 
6 #include "PHG4ScintillatorSlat.h"
7 
8 #include "PHG4ScintillatorSlatDefs.h" // for keytype
9 
10 #include <g4main/PHG4HitDefs.h>
11 
12 #include <iostream> // for cout, ostream
13 #include <set>
14 #include <utility> // for make_pair, pair
15 
17 {
18  public:
21 
22  void identify(std::ostream& os = std::cout) const override;
23 
24  void add_edep(const double f, const double e, const double ly) override
25  {
26  edep += f;
27  eion += e;
28  light_yield += ly;
29  }
30  void add_hit_key(PHG4HitDefs::keytype i) override { hit_id.insert(i); }
31 
33  void set_light_yield(const double lightYield) { light_yield = lightYield; }
34 
35  short get_row() const override;
36  short get_column() const override;
37  PHG4ScintillatorSlatDefs::keytype get_key() const override { return key; }
38  double get_edep() const override { return edep; }
39  double get_eion() const override { return eion; }
40  double get_light_yield() const override { return light_yield; }
41  std::pair<std::set<PHG4HitDefs::keytype>::const_iterator, std::set<PHG4HitDefs::keytype>::const_iterator> get_hit_ids() const override { return std::make_pair(hit_id.begin(), hit_id.end()); }
42 
43  protected:
45  double edep = 0.;
46  double eion = 0.;
47  double light_yield = 0.;
48  std::set<PHG4HitDefs::keytype> hit_id;
49 
50  ClassDefOverride(PHG4ScintillatorSlatv1, 1)
51 };
52 
53 #endif