File indexing completed on 2025-08-05 08:18:13
0001
0002
0003
0004 #ifndef G4MICROMEGAS_PHG4MICROMEGASSUBSYSTEM_H
0005 #define G4MICROMEGAS_PHG4MICROMEGASSUBSYSTEM_H
0006
0007
0008
0009
0010
0011
0012 #include <g4detectors/PHG4DetectorSubsystem.h>
0013
0014 #include <string> // for string
0015
0016 class PHCompositeNode;
0017 class PHG4Detector;
0018 class PHG4MicromegasDetector;
0019 class PHG4DisplayAction;
0020 class PHG4MicromegasSteppingAction;
0021 class PHG4SteppingAction;
0022
0023
0024
0025
0026
0027
0028
0029 class PHG4MicromegasSubsystem : public PHG4DetectorSubsystem
0030 {
0031 public:
0032
0033 PHG4MicromegasSubsystem(const std::string& name = "MICROMEGAS", int layer = 0);
0034
0035 ~PHG4MicromegasSubsystem() override;
0036
0037
0038
0039
0040 int InitRunSubsystem(PHCompositeNode*) override;
0041
0042
0043
0044
0045
0046
0047 int process_event(PHCompositeNode*) override;
0048
0049
0050
0051 PHG4Detector* GetDetector() const override;
0052 PHG4SteppingAction* GetSteppingAction() const override { return m_SteppingAction; }
0053
0054
0055
0056 void Print(const std::string& what = "ALL") const override;
0057
0058
0059 PHG4DisplayAction* GetDisplayAction() const override { return m_DisplayAction; }
0060
0061 private:
0062
0063 void SetDefaultParameters() override;
0064
0065
0066
0067 PHG4MicromegasDetector* m_Detector{nullptr};
0068
0069
0070
0071 PHG4SteppingAction* m_SteppingAction{nullptr};
0072
0073
0074 PHG4DisplayAction* m_DisplayAction{nullptr};
0075
0076 std::string m_HitNodeName;
0077 std::string m_SupportNodeName;
0078 };
0079
0080 #endif