Back to home page

sPhenix code displayed by LXR

 
 

    


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   //! constructor
0021   PHG4TpcSteppingAction(PHG4TpcDetector *, const PHParameters *parameters);
0022 
0023   //! destructor
0024   ~PHG4TpcSteppingAction() override;
0025 
0026   //! stepping action
0027   bool UserSteppingAction(const G4Step *, bool) override;
0028 
0029   //! reimplemented from base class
0030   void SetInterfacePointers(PHCompositeNode *) override;
0031 
0032   void SetHitNodeName(const std::string &type, const std::string &name) override;
0033 
0034  private:
0035   //! pointer to the detector
0036   PHG4TpcDetector *m_Detector{nullptr};
0037 
0038   //! pointer to hit container
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   // since getting parameters is a map search we do not want to
0051   // do this in every step, the parameters used are cached
0052   // in the following variables
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  // G4TPC_PHG4TPCSTEPPINGACTION_H