EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4TRDSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4TRDSubsystem.h
1 #ifndef G4DETECTORS_PHG4TRDSUBSYSTEM_H
2 #define G4DETECTORS_PHG4TRDSUBSYSTEM_H
3 
5 
6 #include <array> // for array
7 #include <string> // for string
8 
9 class PHCompositeNode;
10 class PHG4TRDDetector;
11 class PHG4Detector;
12 class PHG4SteppingAction;
13 
15 {
16  public:
18  PHG4TRDSubsystem(const std::string& name = "TRD", const int layer = 0);
19 
21  ~PHG4TRDSubsystem(void) override;
22 
23  int InitRunSubsystem(PHCompositeNode*) override;
24 
26 
30  int process_event(PHCompositeNode*) override;
31 
33  void Print(const std::string& what = "ALL") const override;
34 
36  PHG4Detector* GetDetector(void) const override;
37  PHG4SteppingAction* GetSteppingAction(void) const override { return m_SteppingAction; }
38 
39  // this method is used to check if it can be used as mothervolume
40  // Subsystems which can be mothervolume need to implement this
41  // and return true
42  //bool CanBeMotherSubsystem() const override { return true; }
43 
44  private:
45  void SetDefaultParameters() override;
46 
48 
49  PHG4TRDDetector* m_Detector /*= nullptr*/;
50 
52 
54 
55  //bool m_SaveAllHitsFlag = false;
56 };
57 #endif // G4DETECTORS_PHG4TRDSUBSYSTEM_H