Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-17 09:21:31

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4DETECTORS_PHG4BBCSTEPPINGACTION_H
0004 #define G4DETECTORS_PHG4BBCSTEPPINGACTION_H
0005 
0006 #include <g4main/PHG4SteppingAction.h>
0007 
0008 #include <string>  // for string
0009 
0010 class G4Step;
0011 class G4VPhysicalVolume;
0012 class PHCompositeNode;
0013 class PHG4BbcDetector;
0014 class PHG4Hit;
0015 class PHG4HitContainer;
0016 class PHParameters;
0017 
0018 class PHG4BbcSteppingAction : public PHG4SteppingAction
0019 {
0020  public:
0021   //! constructor
0022   PHG4BbcSteppingAction(PHG4BbcDetector*, const PHParameters*);
0023 
0024   //! destructor
0025   ~PHG4BbcSteppingAction() override;
0026 
0027   //! stepping action
0028   bool UserSteppingAction(const G4Step*, bool) override;
0029 
0030   //! reimplemented from base class
0031   void SetInterfacePointers(PHCompositeNode*) override;
0032 
0033   void SetHitNodeName(const std::string& type, const std::string& name) override;
0034 
0035  private:
0036   //! pointer to the detector
0037   PHG4BbcDetector* m_Detector {nullptr};
0038 
0039   //! pointer to hit container
0040   PHG4HitContainer* m_HitContainer {nullptr};
0041   PHG4HitContainer* m_SupportHitContainer {nullptr};
0042   const PHParameters* m_Params {nullptr};
0043   PHG4Hit* m_Hit {nullptr};
0044   PHG4HitContainer* m_SaveHitContainer {nullptr};
0045 
0046   G4VPhysicalVolume* m_SaveVolPre {nullptr};
0047   G4VPhysicalVolume* m_SaveVolPost {nullptr};
0048 
0049   int m_SaveTrackId {-1};
0050   int m_SavePreStepStatus {-1};
0051   int m_SavePostStepStatus {-1};
0052   int m_ActiveFlag {0};
0053   int m_BlackHoleFlag {0};
0054   int m_SupportFlag {0};
0055   double m_EdepSum {0.};
0056   double m_EionSum {0.};
0057   double m_PathLen {0.};
0058 
0059   std::string m_HitNodeName;
0060   std::string m_SupportNodeName;
0061 };
0062 
0063 #endif  // G4DETECTORS_PHG4BBCSTEPPINGACTION_H