7 #include <Geant4/G4Box.hh>
8 #include <Geant4/G4Colour.hh>
9 #include <Geant4/G4LogicalVolume.hh>
10 #include <Geant4/G4Material.hh>
11 #include <Geant4/G4NistManager.hh>
12 #include <Geant4/G4PVPlacement.hh>
13 #include <Geant4/G4Region.hh>
14 #include <Geant4/G4String.hh>
15 #include <Geant4/G4SystemOfUnits.hh>
16 #include <Geant4/G4ThreeVector.hh>
17 #include <Geant4/G4Types.hh>
18 #include <Geant4/G4VisAttributes.hh>
33 , absorber_thickness(5.0 *
mm)
34 , scintillator_thickness(5.0 *
cm)
36 , segments_per_column(20)
37 , segments_per_thickness(1)
38 , z_position(100.0 *
cm)
39 , layer_separation(1.0 *
mm)
40 , AbsorberMaterial(nullptr)
41 , ScintillatorMaterial(nullptr)
61 unsigned int z_index = (
unsigned int) ((z - z_start) / z_width);
63 double xy_start = -0.5 *
length;
66 unsigned int x_index = (
unsigned int) ((x - xy_start) / xy_width);
67 unsigned int y_index = (
unsigned int) ((y - xy_start) / xy_width);
69 zcenter = z_start + z_index * z_width + 0.5 * z_width;
70 xcenter = xy_start + x_index * xy_width + 0.5 * xy_width;
71 ycenter = xy_start + y_index * xy_width + 0.5 * xy_width;
91 std::cout <<
"PHG4SvxDetector::Construct - Error: Can not set material" << std::endl;
113 ss <<
"FCalAbsSolid_" <<
layer;
118 ss <<
"FCalAbsLogical_" <<
layer;
125 ss <<
"FCalAbsPhysical_" <<
layer;
135 ss <<
"FCalScintSolid_" <<
layer;
140 ss <<
"FCalScintLogical_" <<
layer;
147 ss <<
"FCalScintPhysical_" <<
layer;
160 std::map<unsigned int, G4VPhysicalVolume*>::iterator vol_iter =
scintillator_physi_.begin();
163 if (vol_iter->second == volume)
172 std::map<unsigned int, G4VPhysicalVolume*>::iterator vol_iter =
scintillator_physi_.begin();
175 if (vol_iter->second == volume)
176 return vol_iter->first;