Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4IHCalSteppingAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4IHCalSteppingAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4IHCAL_PHG4IHCALSTEPPINGACTION_H
4 #define G4IHCAL_PHG4IHCALSTEPPINGACTION_H
5 
7 
8 #include <string> // for string
9 
10 class G4Step;
11 class G4VPhysicalVolume;
12 class PHCompositeNode;
13 class TowerInfoContainer;
14 class PHG4IHCalDetector;
15 class PHParameters;
16 class PHG4Hit;
17 class PHG4HitContainer;
18 class PHG4Shower;
19 class TH2;
20 
22 {
23  public:
26 
28  ~PHG4IHCalSteppingAction() override;
29 
31  bool UserSteppingAction(const G4Step *, bool) override;
32 
33  int InitWithNode(PHCompositeNode *topNode) override;
34 
36  void SetInterfacePointers(PHCompositeNode *) override;
37 
38  void SetHitNodeName(const std::string &type, const std::string &name) override;
39 
40  void CreateNodeTree(PHCompositeNode *topNode);
41 
42  private:
43  bool NoHitSteppingAction(const G4Step *aStep);
46 
48  TH2 *m_MapCorrHist = nullptr;
49 
53  PHG4Hit *m_Hit = nullptr;
54  const PHParameters *m_Params = nullptr;
59  int m_SaveTrackId = -1;
62  // since getting parameters is a map search we do not want to
63  // do this in every step, the parameters used are cached
64  // in the following variables
65  int m_IsActive = 0;
66  int m_IsBlackHole = 0;
68  bool m_doG4Hit = true;
69  double m_tmin = -20.;
70  double m_tmax = 60.;
71  double m_dt = 100.;
72 
75 
77 };
78 
79 #endif // G4IHCAL_PHG4IHCALSTEPPINGACTION_H