53 fLogicCryst(0),fLogicPatient(0),
66 void B3DetectorConstruction::DefineMaterials()
93 G4double cosdPhi = std::cos(half_dPhi);
94 G4double tandPhi = std::tan(half_dPhi);
96 G4double ring_R1 = 0.5*cryst_dY/tandPhi;
97 G4double ring_R2 = (ring_R1+cryst_dZ)/cosdPhi;
99 G4double detector_dZ = nb_rings*cryst_dX;
108 G4double world_sizeXY = 2.4*ring_R2;
109 G4double world_sizeZ = 1.2*detector_dZ;
113 0.5*world_sizeXY, 0.5*world_sizeXY, 0.5*world_sizeZ);
134 new G4Tubs(
"Ring", ring_R1, ring_R2, 0.5*cryst_dX, 0.,
twopi);
145 G4double dX = cryst_dX - gap, dY = cryst_dY - gap;
146 G4Box* solidCryst =
new G4Box(
"crystal", dX/2, dY/2, cryst_dZ/2);
155 for (
G4int icrys = 0; icrys < nb_cryst ; icrys++) {
177 new G4Tubs(
"Detector", ring_R1, ring_R2, 0.5*detector_dZ, 0.,
twopi);
187 G4double OG = -0.5*(detector_dZ + cryst_dX);
188 for (
G4int iring = 0; iring < nb_rings ; iring++) {
220 new G4Tubs(
"Patient", 0., patient_radius, 0.5*patient_dZ, 0.,
twopi);
258 void B3DetectorConstruction::CreateScorers()