33 #include "G4Material.hh" 35 #include "G4LogicalVolume.hh" 36 #include "G4PVPlacement.hh" 37 #include "G4VisAttributes.hh" 38 #include "G4SystemOfUnits.hh" 70 G4Box* areaSolid=
new G4Box(
"area", 25.*cm, 25.*cm, 1.1*m);
71 G4Material* vacuum= G4Material::GetMaterial(
"Vacuum");
72 G4LogicalVolume* areaLV=
new G4LogicalVolume(areaSolid, vacuum,
"area");
73 G4PVPlacement* area=
new G4PVPlacement(0, G4ThreeVector(),
"area",
76 va=
new G4VisAttributes(G4Color(1.,1.,1.));
77 va-> SetVisibility(
false);
78 areaLV-> SetVisAttributes(va);
84 const double dxyphantom= 40.*cm;
85 const double dzphantom= 50.*cm;
87 G4Box* sphantom=
new G4Box(
"phantom",
88 dxyphantom/2., dxyphantom/2., dzphantom/2.);
89 G4Material* water= G4Material::GetMaterial(
"Water");
90 G4LogicalVolume* lphantom=
new G4LogicalVolume(sphantom,
92 G4PVPlacement* phantom=
new G4PVPlacement(0,
93 G4ThreeVector(0.,0., dzphantom/2.),
97 va=
new G4VisAttributes(G4Color(0.,0.1,0.8));
98 lphantom-> SetVisAttributes(va);
101 const G4double dvoxel= 2.*mm;
102 const G4double dvoxel_y= 20.*mm;
104 G4Box* svoxel=
new G4Box(
"voxel", dvoxel/2., dvoxel_y/2., dvoxel/2.);
105 scoreVoxel=
new G4LogicalVolume(svoxel, water,
"voxel");
106 va=
new G4VisAttributes(G4Color(0.,0.8,0.8));
107 va-> SetVisibility(
false);
112 for (iz=0; iz<200; iz++) {
113 for (ix=-40; ix<=40; ix++) {
114 G4double x0= ix*dvoxel;
115 G4double z0= -dzphantom/2.+(iz+0.5)*dvoxel;
116 G4PVPlacement* pvoxel=
new 117 G4PVPlacement(0, G4ThreeVector(x0, 0., z0),
void SetSDtoScoreVoxel(G4VSensitiveDetector *asd)
~MyDetectorConstruction()
G4LogicalVolume * scoreVoxel
virtual G4VPhysicalVolume * Construct()