25 #include <phparameter/PHParameters.h>
29 #include <Geant4/G4Color.hh>
30 #include <Geant4/G4LogicalVolume.hh>
31 #include <Geant4/G4Material.hh>
32 #include <Geant4/G4PVPlacement.hh>
33 #include <Geant4/G4SubtractionSolid.hh>
34 #include <Geant4/G4SystemOfUnits.hh>
35 #include <Geant4/G4Tubs.hh>
36 #include <Geant4/G4UnionSolid.hh>
37 #include <Geant4/G4VisAttributes.hh>
49 const std::string &dnam,
const int lyr)
51 , m_Params(parameters)
84 G4VSolid *solid0 =
new G4Tubs(
"EICG4B0Solid0",
90 G4VSolid *solid1 =
new G4Tubs(
"EICG4B0Solid1",
96 G4VSolid *solidPipeHole =
new G4Tubs(
"EICG4B0IonPipeSolid",
101 G4UnionSolid *solid10 =
new G4UnionSolid(
"EICG4B0Solid10", solid0, solid1);
103 G4LogicalVolume *logical =
new G4LogicalVolume(solidB0,
108 G4VisAttributes *vis =
new G4VisAttributes(G4Color(0.8, 0.4, 0.2, 1.0));
110 vis->SetColor(0.8, 0.4, 0.2, 1.0);
112 vis->SetColor(1., 0., 1., .5);
115 vis->SetColor(1., 1., 0., .8);
118 logical->SetVisAttributes(vis);
119 G4RotationMatrix *rotm =
new G4RotationMatrix();
123 G4VPhysicalVolume *phy =
new G4PVPlacement(
131 logical,
"EICG4B0", logicWorld, 0,
false,
OverlapCheck());
143 G4VSolid *solidPipe =
new G4Tubs(
"EICG4B0IonPipe",
149 G4LogicalVolume *logical =
new G4LogicalVolume(solidPipe,
153 G4VisAttributes *vis =
new G4VisAttributes(G4Color(0.5, 0.5, 0.5, 0.5));
154 vis->SetForceSolid(
true);
155 logical->SetVisAttributes(vis);
156 G4RotationMatrix *rotm =
new G4RotationMatrix();
158 G4VPhysicalVolume *phy =
new G4PVPlacement(
163 logical,
"EICG4B0", logicWorld, 0,
false,
OverlapCheck());
173 std::cout <<
"EICG4B0 Detector:" << std::endl;
174 if (what ==
"ALL" || what ==
"VOLUME")
176 std::cout <<
"Version 0.1" << std::endl;
177 std::cout <<
"Parameters:" << std::endl;