Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:53

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 /* vim: set sw=2 ft=cpp: */
0004 
0005 #ifndef G4EPD_PHG4EPDSUBSYSTEM_H
0006 #define G4EPD_PHG4EPDSUBSYSTEM_H
0007 
0008 #include <g4detectors/PHG4DetectorSubsystem.h>
0009 
0010 #include <string>
0011 
0012 class PHCompositeNode;
0013 class PHG4Detector;
0014 class PHG4DisplayAction;
0015 class PHG4EPDDetector;
0016 class PHG4SteppingAction;
0017 
0018 class PHG4EPDSubsystem : public PHG4DetectorSubsystem
0019 {
0020  public:
0021   PHG4EPDSubsystem(const std::string& name = "EPD");
0022   ~PHG4EPDSubsystem() override;
0023 
0024   /**
0025      Creates relevant hit nodes that will be populated by the stepping action and stored in the output DST
0026   */
0027   int InitRunSubsystem(PHCompositeNode* node) override;
0028 
0029   /** Event processing
0030    */
0031   int process_event(PHCompositeNode*) override;
0032 
0033   PHG4Detector* GetDetector() const override;
0034   PHG4SteppingAction* GetSteppingAction() const override { return m_SteppingAction; };
0035   PHG4DisplayAction* GetDisplayAction() const override { return m_DisplayAction; }
0036 
0037  private:
0038   void SetDefaultParameters() override;
0039 
0040   /** Pointer to the Geant4 implementation of the detector
0041    */
0042   PHG4EPDDetector* m_Detector = nullptr;
0043 
0044   /** Stepping action
0045    */
0046   PHG4SteppingAction* m_SteppingAction = nullptr;
0047 
0048   //! display attribute setting
0049   /*! derives from PHG4DisplayAction */
0050   PHG4DisplayAction* m_DisplayAction = nullptr;
0051 
0052   std::string m_HitNodeName;
0053   std::string m_SupportNodeName;
0054 };
0055 
0056 #endif /* G4EPD_PHG4EPDSUBSYSTEM_H */