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 #ifndef G4DETECTORS_PHG4FORWARDECALSUBSYSTEM_H
0004 #define G4DETECTORS_PHG4FORWARDECALSUBSYSTEM_H
0005 
0006 #include "PHG4DetectorSubsystem.h"
0007 
0008 #include <string>  // for string
0009 
0010 class PHCompositeNode;
0011 class PHG4Detector;
0012 class PHG4DisplayAction;
0013 class PHG4ZDCDetector;
0014 class PHG4SteppingAction;
0015 
0016 class PHG4ZDCSubsystem : public PHG4DetectorSubsystem
0017 {
0018  public:
0019   /** Constructor
0020    */
0021   explicit PHG4ZDCSubsystem(const std::string& name, const int layer);
0022 
0023   /** Destructor
0024    */
0025   ~PHG4ZDCSubsystem() override;
0026 
0027   /**
0028      Creates relevant hit nodes that will be populated by the stepping action and stored in the output DST
0029   */
0030   int InitRunSubsystem(PHCompositeNode*) override;
0031 
0032   /** Event processing
0033    */
0034   int process_event(PHCompositeNode*) override;
0035 
0036   /** Accessors (reimplemented)
0037    */
0038   PHG4Detector* GetDetector() const override;
0039   PHG4SteppingAction* GetSteppingAction() const override { return m_SteppingAction; }
0040 
0041   PHG4DisplayAction* GetDisplayAction() const override { return m_DisplayAction; }
0042 
0043  private:
0044   void SetDefaultParameters() override;
0045 
0046   /** Pointer to the Geant4 implementation of the detector
0047    */
0048   PHG4ZDCDetector* m_Detector = nullptr;
0049 
0050   /** Stepping action
0051    */
0052   PHG4SteppingAction* m_SteppingAction = nullptr;
0053 
0054   //! display attribute setting
0055   /*! derives from PHG4DisplayAction */
0056   PHG4DisplayAction* m_DisplayAction = nullptr;
0057 
0058   std::string m_HitNodeName;
0059   std::string m_AbsorberNodeName;
0060   std::string m_SupportNodeName;
0061 };
0062 
0063 #endif