55 std::istringstream stream(line.substr(2));
75 "A solid must be defined before defining a facet!");
84 std::istringstream stream(line.substr(4));
85 stream >> x1 >> y1 >> z1 >> x2 >> y2 >> z2 >> x3 >> y3 >> z3;
91 else if (line[2]==
'4')
98 std::istringstream stream(line.substr(4));
99 stream >> x1 >> y1 >> z1 >> x2 >> y2 >> z2
100 >> x3 >> y3 >> z3 >> x4 >> y4 >> z4;
110 "Number of vertices per facet should be either 3 or 4!");
124 std::istringstream stream(line.substr(2));
125 stream >> level >> name >> r1 >> r2 >> r3 >> n1 >> r4 >> r5 >> r6
126 >> n2 >> r7 >> r8 >> r9 >> n3 >> pX >> pY >> pZ >> n4 >> n5;
127 std::string::size_type
idx = name.rfind(
"_");
128 if (idx!=std::string::npos)
134 G4Exception(
"G4STRead::PhysvolRead()",
"ReadError",
139 G4cout <<
"G4STRead: Placing tessellated solid: " << name <<
G4endl;
152 if (tessellated == 0)
154 G4String error_msg =
"Referenced solid '" + name +
"' not found!";
155 G4Exception(
"G4STRead::PhysvolRead()",
"ReadError",
160 G4String error_msg =
"Referenced solid '" + name
161 +
"' is not associated with a logical volume!";
162 G4Exception(
"G4STRead::PhysvolRead()",
"InvalidSetup",
178 tessellated->CalculateExtent(
kXAxis,limits,
180 tessellated->CalculateExtent(
kYAxis,limits,
182 tessellated->CalculateExtent(
kZAxis,limits,
202 G4cout <<
"G4STRead: Reading '" << name <<
"'..." <<
G4endl;
204 std::ifstream GeomFile(name);
217 while (getline(GeomFile,line))
228 G4cout <<
"G4STRead: Reading '" << name <<
"' done." <<
G4endl;
234 G4cout <<
"G4STRead: Reading '" << name <<
"'..." <<
G4endl;
236 std::ifstream TreeFile(name);
247 while (getline(TreeFile,line))
252 G4cout <<
"G4STRead: Reading '" << name <<
"' done." <<
G4endl;
259 if (mediumMaterial == 0)
262 "Pointer to medium material is not valid!");
264 if (solidMaterial == 0)
267 "Pointer to solid material is not valid!");
275 "TessellatedWorldLV", 0, 0, 0);