File indexing completed on 2025-08-06 08:19:31
0001 #ifndef G4TPC_PHG4VTPCSTEPPINGACTION_H
0002 #define G4TPC_PHG4VTPCSTEPPINGACTION_H
0003
0004 #include <g4main/PHG4SteppingAction.h>
0005
0006 #include <string>
0007
0008 class G4Step;
0009 class G4VPhysicalVolume;
0010 class PHCompositeNode;
0011 class PHG4TpcDetector;
0012 class PHG4Hit;
0013 class PHG4HitContainer;
0014 class PHG4Shower;
0015 class PHParameters;
0016
0017 class PHG4TpcSteppingAction : public PHG4SteppingAction
0018 {
0019 public:
0020
0021 PHG4TpcSteppingAction(PHG4TpcDetector *, const PHParameters *parameters);
0022
0023
0024 ~PHG4TpcSteppingAction() override;
0025
0026
0027 bool UserSteppingAction(const G4Step *, bool) override;
0028
0029
0030 void SetInterfacePointers(PHCompositeNode *) override;
0031
0032 void SetHitNodeName(const std::string &type, const std::string &name) override;
0033
0034 private:
0035
0036 PHG4TpcDetector *m_Detector{nullptr};
0037
0038
0039 PHG4HitContainer *m_HitContainer{nullptr};
0040 PHG4HitContainer *m_AbsorberHitContainer{nullptr};
0041 PHG4Hit *m_Hit{nullptr};
0042 const PHParameters *m_Params{nullptr};
0043 PHG4HitContainer *m_CurrentHitContainer{nullptr};
0044 PHG4Shower *m_Shower{nullptr};
0045 G4VPhysicalVolume *m_SaveVolPre{nullptr};
0046 G4VPhysicalVolume *m_SaveVolPost{nullptr};
0047 int m_SaveTrackId{-1};
0048 int m_SavePreStepStatus{-1};
0049 int m_SavePostStepStatus{-1};
0050
0051
0052
0053 int m_IsBlackHoleFlag{0};
0054 int m_UseG4StepsFlag{0};
0055
0056 std::string m_HitNodeName;
0057 std::string m_AbsorberNodeName;
0058 };
0059
0060 #endif