Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4CEmcTestBeamSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4CEmcTestBeamSubsystem.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4CEMCTESTBEAMSUBSYSTEM_H
4 #define G4DETECTORS_PHG4CEMCTESTBEAMSUBSYSTEM_H
5 
6 #include <g4main/PHG4Subsystem.h>
7 
8 #include <Geant4/G4Types.hh>
9 
10 #include <string> // for string
11 
12 class PHCompositeNode;
15 class PHG4Detector;
16 class PHG4EventAction;
17 class PHG4SteppingAction;
18 
20 {
21  public:
23  PHG4CEmcTestBeamSubsystem(const std::string& name = "BLOCK", const int layer = 0);
24 
27  {
28  }
29 
31 
36  int Init(PHCompositeNode*) override;
37 
39 
43  int process_event(PHCompositeNode*) override;
44 
46  PHG4Detector* GetDetector(void) const override;
47  PHG4SteppingAction* GetSteppingAction(void) const override;
48 
49  void SetSize(const G4double sizex, const G4double sizey, const G4double sizez)
50  {
51  dimension[0] = sizex;
52  dimension[1] = sizey;
53  dimension[2] = sizez;
54  }
55  void SetPlaceZ(const G4double dbl);
56  void SetPlace(const G4double place_x, const G4double place_y, const G4double place_z);
57  void SetXRot(const G4double dbl);
58  void SetYRot(const G4double dbl);
59  void SetZRot(const G4double dbl);
60  PHG4EventAction* GetEventAction() const override { return eventAction_; }
61  void SetActive(const int i = 1) { active = i; }
62  void SetAbsorberActive(const int i = 1) { absorberactive = i; }
65 
66  void BlackHole(const int i = 1) { blackhole = i; }
67 
68  private:
70 
72 
74 
77  G4double dimension[3];
78  G4double place_in_x;
79  G4double place_in_y;
80  G4double place_in_z;
81  G4double rot_in_x;
82  G4double rot_in_y;
83  G4double rot_in_z;
84 
85  int active;
87  int layer;
88  int blackhole;
91 };
92 
93 #endif