ECCE @ EIC 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 
22  public:
23 
25  PHG4CEmcTestBeamSubsystem( const std::string &name = "BLOCK", const int layer = 0 );
26 
28  ~PHG4CEmcTestBeamSubsystem( void ) override
29  {}
30 
32 
37  int Init(PHCompositeNode *) override;
38 
40 
44  int process_event(PHCompositeNode *) override;
45 
47  PHG4Detector* GetDetector( void ) const override;
48  PHG4SteppingAction* GetSteppingAction( void ) const override;
49 
50  void SetSize(const G4double sizex, const G4double sizey, const G4double sizez)
51  {dimension[0] = sizex; dimension[1] = sizey; dimension[2] = sizez;}
52  void SetPlaceZ(const G4double dbl);
53  void SetPlace(const G4double place_x, const G4double place_y, const G4double place_z);
54  void SetXRot(const G4double dbl);
55  void SetYRot(const G4double dbl);
56  void SetZRot(const G4double dbl);
57  PHG4EventAction* GetEventAction() const override {return eventAction_;}
58  void SetActive(const int i = 1) {active = i;}
59  void SetAbsorberActive(const int i = 1) {absorberactive = i;}
60  void SuperDetector(const std::string &name) {superdetector = name;}
61  const std::string SuperDetector() {return superdetector;}
62 
63  void BlackHole(const int i=1) {blackhole = i;}
64 
65  private:
66 
68 
70 
72 
82 
83  int active;
85  int layer;
86  int blackhole;
87  std::string detector_type;
88  std::string superdetector;
89 };
90 
91 #endif