ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4InttSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4InttSubsystem.h
1 // Tell emacs that this is a C++ source
2 // This file is really -*- C++ -*-.
3 #ifndef G4INTT_PHG4INTTSUBSYSTEM_H
4 #define G4INTT_PHG4INTTSUBSYSTEM_H
5 
7 
8 #include <string> // for string
9 #include <utility> // for pair
10 #include <vector>
11 
12 class PHCompositeNode;
13 class PHG4Detector;
14 class PHG4DisplayAction;
15 class PHG4InttDetector;
16 class PHG4SteppingAction;
17 
19 {
20  public:
21  typedef std::vector<std::pair<int, int>> vpair;
22 
24  PHG4InttSubsystem(const std::string &name = "PHG4InttSubsystem", const vpair &layerconfig = vpair(0));
25 
27  ~PHG4InttSubsystem() override;
28 
30 
36  int InitRunSubsystem(PHCompositeNode *) override;
37 
39 
43  int process_event(PHCompositeNode *) override;
44 
46  PHG4Detector *GetDetector(void) const override;
47 
48  PHG4SteppingAction *GetSteppingAction(void) const override { return m_SteppingAction; }
49 
50  PHG4DisplayAction* GetDisplayAction() const override { return m_DisplayAction; }
51 
52  void Print(const std::string &what = "ALL") const override;
53 
54  private:
55  void SetDefaultParameters() override;
56 
58 
60 
62 
64 
66 
68 
70  std::string m_DetectorType;
71 };
72 
73 #endif