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