Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4OHCalSteppingAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4OHCalSteppingAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4OHCAL_PHG4OHCALSTEPPINGACTION_H
4 #define G4OHCAL_PHG4OHCALSTEPPINGACTION_H
5 
7 
8 #include <string> // for string
9 
10 class G4Step;
11 class G4VPhysicalVolume;
12 class PHCompositeNode;
13 class TowerInfoContainer;
14 class PHG4OHCalDetector;
15 class PHParameters;
16 class PHG4Hit;
17 class PHG4HitContainer;
18 class PHG4Shower;
19 class TH2;
20 
22 {
23  public:
26 
28  ~PHG4OHCalSteppingAction() 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 FieldChecker(const G4Step *);
41  void EnableFieldChecker(const int i = 1) { m_EnableFieldCheckerFlag = i; }
42  void CreateNodeTree(PHCompositeNode *topNode);
43  private:
44  bool NoHitSteppingAction(const G4Step *aStep);
47 
49  TH2 *m_MapCorrHist[24] = {0};
50  TH2 *m_MapCorrHistChim[24] = {0};
51 
55  PHG4Hit *m_Hit = nullptr;
56  const PHParameters *m_Params = nullptr;
61  int m_SaveTrackId = -1;
65 
66  // since getting parameters is a map search we do not want to
67  // do this in every step, the parameters used are cached
68  // in the following variables
69  int m_IsActiveFlag = 0;
71  int m_NScintiPlates = -1;
73  bool m_doG4Hit = true;
74  double m_tmin = -20.;
75  double m_tmax = 60.;
76  double m_dt = 100.;
79 
81 };
82 
83 #endif // G4OHCAL_PHG4OHCALSTEPPINGACTION_H