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