27 #include <phparameter/PHParameters.h>
34 #include <Geant4/G4Box.hh>
35 #include <Geant4/G4Color.hh>
36 #include <Geant4/G4LogicalVolume.hh>
37 #include <Geant4/G4Material.hh>
38 #include <Geant4/G4PVPlacement.hh>
39 #include <Geant4/G4RotationMatrix.hh>
40 #include <Geant4/G4SubtractionSolid.hh>
41 #include <Geant4/G4SystemOfUnits.hh>
42 #include <Geant4/G4ThreeVector.hh>
43 #include <Geant4/G4Transform3D.hh>
44 #include <Geant4/G4Tubs.hh>
45 #include <Geant4/G4Types.hh>
46 #include <Geant4/G4UnionSolid.hh>
47 #include <Geant4/G4VPhysicalVolume.hh>
48 #include <Geant4/G4VisAttributes.hh>
64 const std::string &dnam,
const int lyr)
66 , m_Params(parameters)
98 std::cout <<
"EICG4B0Detector: Begin Construction" << std::endl;
104 std::cout <<
" !!! No PACKMAN" << std::endl;
109 G4VSolid *solid0 =
new G4Tubs(
"EICG4B0Solid0",
115 G4VSolid *solidPipeHole =
new G4Tubs(
"EICG4B0IonPipeSolid",
120 G4VSolid *solidCableHole =
new G4Tubs(
"EICG4B0CableSolid",
125 G4VSolid *solidPipeHole1 =
new G4Box(
"EICG4B0PipeSolid1",
129 G4VSolid *solid1 =
new G4Tubs(
"EICG4B0Solid1",
135 G4UnionSolid *solid10 =
new G4UnionSolid(
"EICG4B0Solid10", solid0, solid1);
141 G4RotationMatrix *rotm =
new G4RotationMatrix();
142 G4LogicalVolume *logical =
new G4LogicalVolume(solidB0,
146 G4VisAttributes *vis =
new G4VisAttributes(G4Color(0.8, 0.4, 0.2, 1.0));
150 vis->SetForceSolid(
true);
151 logical->SetVisAttributes(vis);
155 G4VPhysicalVolume *phy =
new G4PVPlacement(
163 logical,
"EICG4B0", logicWorld, 0,
false,
OverlapCheck());
179 std::cout <<
"EICG4B0 Detector:" << std::endl;
180 if (what ==
"ALL" || what ==
"VOLUME")
182 std::cout <<
"Version 0.1" << std::endl;
183 std::cout <<
"Parameters:" << std::endl;