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