ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4CylinderSteppingAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4CylinderSteppingAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4CYLINDERSTEPPINGACTION_H
4 #define G4DETECTORS_PHG4CYLINDERSTEPPINGACTION_H
5 
7 
8 #include <string>
9 
10 class G4Step;
11 class G4VPhysicalVolume;
12 class PHCompositeNode;
15 class PHG4Hit;
16 class PHG4HitContainer;
17 class PHG4Shower;
18 class PHParameters;
19 
21 {
22  public:
25 
27  ~PHG4CylinderSteppingAction() override;
28 
30  bool UserSteppingAction(const G4Step *, bool) override;
31 
33  void SetInterfacePointers(PHCompositeNode *) override;
34 
35  void SaveLightYield(const int i = 1) { m_SaveLightYieldFlag = i; }
36 
37  // needed for hit position crosschecks, if this volume is inside
38  // another volume the absolut hit coordinates in our G4Hits and
39  // the local coordinates differ, so checking against our place in z
40  // goes wrong
41  bool hasMotherSubsystem() const;
42 
43  // this is just needed for use as reference plane for projections
44  // this is the only detector using this - there is no need to add
45  // this to our parameters
46  void SaveAllHits(bool i = true) { m_SaveAllHitsFlag = i; }
47 
48  void HitNodeName(const std::string &name) {m_HitNodeName = name;}
49 
50  private:
56 
63  bool m_SaveAllHitsFlag = false;
71  double m_Zmin;
72  double m_Zmax;
73  double m_Tmin;
74  double m_Tmax;
75  std::string m_HitNodeName;
76 };
77 
78 #endif