57{
58
59
60 G4cout << "Parallel World `" << fWorldName << "' constructed." << G4endl;
61
62
63
64
65
66
68 G4LogicalVolume* logicalParallelWorld = physicalParallelWorld->GetLogicalVolume();
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
91 G4LogicalVolumeStore::GetInstance()->GetVolume("shield.logical");
92
93
94
95 G4Box* shieldSolid = (
G4Box*) shieldLogical->GetSolid();
96
97
100 nullptr,
101 "motherForSlices.logical");
102
103
104
105
106
107
108
109 const G4int nSlices(20);
110
111 G4double halfSliceZ = shieldSolid->GetZHalfLength() / nSlices;
113 shieldSolid->GetXHalfLength(),
114 shieldSolid->GetYHalfLength(),
115 halfSliceZ );
116
117
119 nullptr,
120 "slice.logical");
121
122
124 sliceLogical,
125 motherForSlicesLogical,
126 kZAxis,
127 nSlices,
128 2*halfSliceZ);
129
130
131
132
133
134
135
136
137
139 shieldPhysical = G4PhysicalVolumeStore::GetInstance()->GetVolume("shield.physical");
140
141
142
143 G4ThreeVector translation = shieldPhysical->GetObjectTranslation();
144
145
147 translation,
148 motherForSlicesLogical,
149 "motherForSlices.physical",
150 logicalParallelWorld,
151 false,
152 0);
153
154}