File indexing completed on 2025-08-05 08:17:53
0001
0002
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
0020
0021 explicit PHG4ZDCSubsystem(const std::string& name, const int layer);
0022
0023
0024
0025 ~PHG4ZDCSubsystem() override;
0026
0027
0028
0029
0030 int InitRunSubsystem(PHCompositeNode*) override;
0031
0032
0033
0034 int process_event(PHCompositeNode*) override;
0035
0036
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
0047
0048 PHG4ZDCDetector* m_Detector = nullptr;
0049
0050
0051
0052 PHG4SteppingAction* m_SteppingAction = nullptr;
0053
0054
0055
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