Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4HcalPrototypeSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4HcalPrototypeSubsystem.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 // This is the subsystem code (header file) for the hcal prototype detector
4 // created on 1/27/2014, Liang, HeXC
5 //
6 #ifndef G4CALOPROTOTYPE_PHG4HCALPROTOTYPESUBSYSTEM_H
7 #define G4CALOPROTOTYPE_PHG4HCALPROTOTYPESUBSYSTEM_H
8 
9 #include <g4main/PHG4Subsystem.h>
10 
11 #include <Geant4/G4Types.hh>
12 #include <Geant4/G4String.hh>
13 
14 #include <string> // for string
15 
16 class PHCompositeNode;
17 class PHG4Detector;
20 class PHG4EventAction;
21 class PHG4SteppingAction;
22 
24 {
25 
26  public:
27 
29  PHG4HcalPrototypeSubsystem( const std::string &name = "BLOCK", const int layer = 0 );
30 
33  {}
34 
36 
41  int Init(PHCompositeNode *);
42 
44 
49 
51  virtual PHG4Detector* GetDetector( void ) const;
52  virtual PHG4SteppingAction* GetSteppingAction( void ) const;
53 
54  void SetYRot(const G4double dbl) {rot_in_y = dbl;}
55  void SetZRot(const G4double dbl) {rot_in_z = dbl;}
56 
57  void SetMaterial(const std::string &mat) {material = mat;}
59  void SetActive(const int i = 1) {active = i;}
60  void SetAbsorberActive(const int i = 1) {absorberactive = i;}
63 
64  void BlackHole(const int i=1) {blackhole = i;}
65 
66  private:
67 
69 
71 
73 
76  G4double dimension[3];
77  G4double rot_in_y;
78  G4double rot_in_z;
79 
80  G4String material;
81  int active;
83  int layer;
84  int blackhole;
87 };
88 
89 #endif