15#include "G4UnionSolid.hh"
16#include "G4SubtractionSolid.hh"
17#include "G4LogicalVolume.hh"
18#include "G4VPhysicalVolume.hh"
19#include "G4ThreeVector.hh"
20#include "G4Material.hh"
21#include "G4PVPlacement.hh"
23#include "G4VisAttributes.hh"
32 for(G4int i=0; i<3; i++)
47 for(G4int i=0; i<5; i++)
55 for(G4int i=0; i<6; i++)
62 for(G4int i=0; i<13; i++)
74 physicalinnShield = 0;
80 physicaloutShield = 0;
86 physicalendShield1 = 0;
87 physicalendShield2 = 0;
105 physicalendCoil1 = 0;
106 physicalendCoil2 = 0;
108 logicalouterCryo = 0;
109 physicalouterCryo = 0;
112 physicalendCryo1 = 0;
113 physicalendCryo2 = 0;
135 G4double density, a, z,fractionmass;
137 G4String name, symbol;
138 density = 0.1248*g/cm3;
140 liquidhelium =
new G4Material(name=
"liquidhelium",z=2.0,a,density);
142 density = 7.14*g/cm3;
144 G4Material* Chromium =
new G4Material(name=
"Chromium",z=24.0,a,density);
146 density = 7.87*g/cm3;
148 G4Material* Iron =
new G4Material(name=
"Iron",z=26.0,a,density);
150 density = 8.91*g/cm3;
152 G4Material* Nickel =
new G4Material(name=
"Nickel",z=28.0,a,density);
154 density = 7.47*g/cm3;
156 G4Material* Manganese =
new G4Material(name=
"Manganese",z=25.0,a,density);
158 density = 7.801*g/cm3;
159 Steel =
new G4Material(name=
"Steel",density,nel=4);
160 Steel->AddMaterial(Iron, fractionmass = 0.69);
161 Steel->AddMaterial(Chromium, fractionmass = 0.19);
162 Steel->AddMaterial(Manganese, fractionmass = 0.02);
163 Steel->AddMaterial(Nickel, fractionmass = 0.10);
166 G4Element*
C =
new G4Element(name=
"Carbon" ,symbol=
"C" , z= 6., a);
168 G4Element*
H =
new G4Element(name=
"Hydrogen",symbol=
"H" , z= 1., a);
170 G4Element* O =
new G4Element(name=
"Oxygen" ,symbol=
"O" , z= 8., a);
172 density = 2.25*mg/cm3;
173 fibre =
new G4Material(name=
"fibre",density,nel=3);
174 fibre->AddElement(
C, fractionmass = 0.625);
175 fibre->AddElement(
H, fractionmass = 0.042);
176 fibre->AddElement(O, fractionmass = 0.333);
183 G4RotationMatrix* xRot =
new G4RotationMatrix;
184 xRot->rotateX(90*deg);
186 G4Tubs* hole1 =
new G4Tubs(
"hole1",hole[0],hole[1],hole[2]/2,0,360);
187 G4LogicalVolume* logicalhole1 =
new G4LogicalVolume(hole1, Steel,
"logicalhole1");
189 new G4PVPlacement(xRot,G4ThreeVector(0,(outerCryo[1]+hole[2]/2)*mm,1640*mm),logicalhole1,
"physicalhole1",logicalbes,
false,0);
191 G4Tubs* hole2 =
new G4Tubs(
"hole2",hole[3],hole[4],hole[5]/2,0,360);
192 G4LogicalVolume* logicalhole2 =
new G4LogicalVolume(hole2, Steel,
"logicalhole2");
194 new G4PVPlacement(xRot,G4ThreeVector(0,(outerCryo[1]+hole[2]+hole[5]/2)*mm,1640*mm),logicalhole2,
"physicalhole2",logicalbes,
false,0);
196 G4Tubs* hole3 =
new G4Tubs(
"hole3",hole[6],hole[7],hole[12]/2,0,360);
197 G4LogicalVolume* logicalhole3 =
new G4LogicalVolume(hole3, Steel,
"logicalhole3");
199 new G4PVPlacement(xRot,G4ThreeVector(0,(outerCryo[1]+hole[2]+hole[12]/2)*mm,1640*mm),logicalhole3,
"physicalhole3",logicalbes,
false,0);
201 G4Tubs* hole4 =
new G4Tubs(
"hole4",hole[8],hole[9],hole[12]/2,0,360);
202 G4LogicalVolume* logicalhole4 =
new G4LogicalVolume(hole4, G4Material::GetMaterial(
"Aluminium"),
"logicalhole4");
204 new G4PVPlacement(xRot,G4ThreeVector(0,(l3Adia[1]+pipe2[1]+pipe2[4]+hole[12]/2)*mm,1640*mm),logicalhole4,
"physicalhole4",logicalbes,
false,0);
206 G4Box* hole5 =
new G4Box(
"hole5",hole[10]/2,hole[11]/2,hole[12]/2);
207 G4LogicalVolume* logicalhole5 =
new G4LogicalVolume(hole5, G4Material::GetMaterial(
"Aluminium"),
"logicalhole5");
209 new G4PVPlacement(xRot,G4ThreeVector(0,(l3Adia[1]+pipe2[1]+pipe2[4]+hole[12]/2)*mm,1640*mm),logicalhole5,
"physicalhole5",logicalbes,
false,0);
212 G4Tubs* solidSCM_tmp =
new G4Tubs(
"solidSCM_tmp",innerCryo[0]*mm,1700*mm,(outerCryo[2]+2*endCryo[2])/2.0*mm,0,360);
213 G4Tubs* hole_tmp1 =
new G4Tubs(
"hole_tmp1",0,hole[1],(1700.-1617.5+2)/2.*mm,0,360);
214 G4SubtractionSolid* solidSCM =
new G4SubtractionSolid(
"solidSCM",solidSCM_tmp,hole_tmp1,xRot,G4ThreeVector(0,(1700.+1617.5+2)/2*mm,1640*mm) );
215 logicalSCM =
new G4LogicalVolume(solidSCM, G4Material::GetMaterial(
"Air"),
"logicalSCM");
216 physicalSCM =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalSCM,
"physicalSCM",logicalbes,
false,0);
218 G4Tubs* tub1 =
new G4Tubs(
"tub1",innerCryo[0]*mm,innerCryo[1]*mm,innerCryo[2]/2.0*mm,0,360);
219 logicalinnCryo =
new G4LogicalVolume(tub1, Steel,
"logicalinnCryo");
220 physicalinnCryo =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalinnCryo,
"physicalinnCryo",logicalSCM,
false,0);
222 G4Tubs* tub2 =
new G4Tubs(
"tub2",l1Adia[0]*mm,l1Adia[1]*mm,l1Adia[2]/2.0*mm,0,360);
223 logicall1Adia =
new G4LogicalVolume(tub2, fibre,
"logicall1Adia");
224 physicall1Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall1Adia,
"physicall1Adia",logicalSCM,
false,0);
226 G4Tubs* tub3 =
new G4Tubs(
"tub3",innerShield[0]*mm,innerShield[1]*mm,innerShield[2]/2.0*mm,0,360);
227 logicalinnShield =
new G4LogicalVolume(tub3, G4Material::GetMaterial(
"Aluminium"),
"logicalinnShield");
228 physicalinnShield =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalinnShield,
"physicalinnShield",logicalSCM,
false,0);
230 G4Tubs* tub4 =
new G4Tubs(
"tub4",l2Adia[0]*mm,l2Adia[1]*mm,l2Adia[2]/2.0*mm,0,360);
231 logicall2Adia =
new G4LogicalVolume(tub4, fibre,
"logicall2Adia");
232 physicall2Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall2Adia,
"physicall2Adia",logicalSCM,
false,0);
234 G4Tubs* hole_tmp3 =
new G4Tubs(
"hole_tmp3",0,hole[8]*mm,25*mm,0,360);
235 G4Tubs* tub5_tmp =
new G4Tubs(
"tub5_tmp",outerShield[0]*mm,outerShield[1]*mm,outerShield[2]/2.0*mm,0,360);
236 G4SubtractionSolid* tub5 =
new G4SubtractionSolid(
"tub5",tub5_tmp,hole_tmp3,xRot,G4ThreeVector(0,(outerShield[0]+outerShield[1])/2*mm,1640*mm) );
237 logicaloutShield =
new G4LogicalVolume(tub5, G4Material::GetMaterial(
"Aluminium"),
"logicaloutShield");
238 physicaloutShield =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaloutShield,
"physicaloutShield",logicalSCM,
false,0);
240 G4Tubs* tub6_tmp =
new G4Tubs(
"tub6_tmp",l3Adia[0]*mm,l3Adia[1]*mm,l3Adia[2]/2.0*mm,0,360);
241 G4SubtractionSolid* tub6 =
new G4SubtractionSolid(
"tub6",tub6_tmp,hole_tmp3,xRot,G4ThreeVector(0,(l3Adia[0]+l3Adia[1])/2*mm,1640*mm) );
242 logicall3Adia =
new G4LogicalVolume(tub6, fibre,
"logicall3Adia");
243 physicall3Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall3Adia,
"physicall3Adia",logicalSCM,
false,0);
245 G4Tubs* tub7 =
new G4Tubs(
"tub7",endShield[0]*mm,endShield[1]*mm,endShield[2]/2.0*mm,0,360);
246 logicalendShield =
new G4LogicalVolume(tub7, G4Material::GetMaterial(
"Aluminium"),
"logicalendShield");
247 physicalendShield1 =
new G4PVPlacement(0,G4ThreeVector(0,0,endShield[3]*mm),logicalendShield,
"physicalendShield1",logicalSCM,
false,0);
248 physicalendShield2 =
new G4PVPlacement(0,G4ThreeVector(0,0,endShield[4]*mm),logicalendShield,
"physicalendShield2",logicalSCM,
false,1);
250 G4Tubs* tub8 =
new G4Tubs(
"tub8",l1insu[0]*mm,l1insu[1]*mm,l1insu[2]/2.0*mm,0,360);
251 logicall1insu =
new G4LogicalVolume(tub8, fibre,
"logicall1insu");
252 physicall1insu =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall1insu,
"physicall1insu",logicalSCM,
false,0);
254 G4Tubs* tub9 =
new G4Tubs(
"tub9",coil[0]*mm,coil[1]*mm,coil[2]/2.0*mm,0,360);
255 logicalcoil =
new G4LogicalVolume(tub9, G4Material::GetMaterial(
"Aluminium"),
"logicalcoil");
256 physicalcoil =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalcoil,
"physicalcoil",logicalSCM,
false,0);
258 G4Tubs* tub10 =
new G4Tubs(
"tub10",l2insu[0]*mm,l2insu[1]*mm,l2insu[2]/2.0*mm,0,360);
259 logicall2insu =
new G4LogicalVolume(tub10, fibre,
"logicall2insu");
260 physicall2insu =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall2insu,
"physicall2insu",logicalSCM,
false,0);
262 G4Tubs* tub11 =
new G4Tubs(
"tub11",supp[0]*mm,supp[1]*mm,supp[2]/2.0*mm,0,360);
263 logicalsupp =
new G4LogicalVolume(tub11, G4Material::GetMaterial(
"Aluminium"),
"logicalsupp");
264 physicalsupp =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalsupp,
"physicalsupp",logicalSCM,
false,0);
266 G4Tubs* tub12 =
new G4Tubs(
"tub12",l4Adia[0]*mm,l4Adia[1]*mm,l4Adia[2]/2.0*mm,0,360);
267 logicall4Adia =
new G4LogicalVolume(tub12, fibre,
"logicall4Adia");
268 physicall4Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall4Adia,
"physicall4Adia",logicalSCM,
false,0);
270 G4Tubs* tub13 =
new G4Tubs(
"tub13",endCoil[0]*mm,endCoil[1]*mm,endCoil[2]/2.0*mm,0,360);
271 logicalendCoil =
new G4LogicalVolume(tub13, G4Material::GetMaterial(
"Aluminium"),
"logicalendCoil");
272 physicalendCoil1 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCoil[3]*mm),logicalendCoil,
"physicalendCoil1",logicalSCM,
false,0);
273 physicalendCoil2 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCoil[4]*mm),logicalendCoil,
"physicalendCoil2",logicalSCM,
false,1);
275 G4Tubs* hole_tmp2 =
new G4Tubs(
"hole_tmp2",0,hole[1],18*mm,0,360);
276 G4Tubs* tub14_tmp =
new G4Tubs(
"tub14_tmp",outerCryo[0]*mm,outerCryo[1]*mm,outerCryo[2]/2.0*mm,0,360);
277 G4SubtractionSolid* tub14 =
new G4SubtractionSolid(
"tub14",tub14_tmp,hole_tmp2,xRot,G4ThreeVector(0,(outerCryo[1]-8)*mm,1640*mm) );
278 logicalouterCryo =
new G4LogicalVolume(tub14, Steel,
"logicalouterCryo");
279 physicalouterCryo =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalouterCryo,
"physicalouterCryo",logicalSCM,
false,0);
281 G4Tubs* tub15 =
new G4Tubs(
"tub15",endCryo[0]*mm,endCryo[1]*mm,endCryo[2]/2.0*mm,0,360);
282 logicalendCryo =
new G4LogicalVolume(tub15, Steel,
"logicalendCryo");
283 physicalendCryo1 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCryo[3]*mm),logicalendCryo,
"physicalendCryo1",logicalSCM,
false,0);
284 physicalendCryo2 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCryo[4]*mm),logicalendCryo,
"physicalendCryo2",logicalSCM,
false,1);
319 G4Box* solidpipe1 =
new G4Box(
"solidpipe1",pipe1[2]/2*mm,(pipe1[1]+pipe1[4])/2*mm,pipe1[5]/2*mm);
320 logicalpipe1 =
new G4LogicalVolume(solidpipe1, G4Material::GetMaterial(
"Air"),
"logicalpipe1");
321 G4Tubs* tub17 =
new G4Tubs(
"tub17",pipe1[0]*mm,pipe1[1]*mm,pipe1[5]/2*mm,0,360);
322 G4Tubs* tub18 =
new G4Tubs(
"tub18",0,pipe1[1]*mm,pipe1[5]/2*mm,0,360);
323 G4Tubs* tub19 =
new G4Tubs(
"tub19",0,pipe1[0]*mm,pipe1[5]/2*mm,0,360);
324 G4Box* solidbox1 =
new G4Box(
"solidbox1",pipe1[2]/2*mm,pipe1[3]/2*mm,pipe1[5]/2*mm);
325 G4SubtractionSolid* solidsub1 =
new G4SubtractionSolid(
"solidsub1",solidbox1,tub18,0,G4ThreeVector(0,(pipe1[4]-pipe1[3]/2)*mm,0) );
326 G4LogicalVolume* logicalsub1 =
new G4LogicalVolume(solidsub1, G4Material::GetMaterial(
"Aluminium"),
"logicalsub1");
327 G4LogicalVolume* logicaltub17 =
new G4LogicalVolume(tub17, G4Material::GetMaterial(
"Aluminium"),
"logicaltub17");
328 G4LogicalVolume* logicaltub19 =
new G4LogicalVolume(tub19,liquidhelium,
"logicaltub19");
330 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub17,
"physicaltub17",logicalpipe1,
false,0);
332 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub19,
"physicaltub19",logicalpipe1,
false,0);
334 new G4PVPlacement(0,G4ThreeVector(0,-(pipe1[4]-pipe1[3]/2)*mm,0),logicalsub1,
"physicalsub1",logicalpipe1,
false,0);
335 for(G4int i=0; i<24; i++)
337 std::ostringstream osnamerein;
338 osnamerein <<
"physicalpipe1_"<<i;
339 G4RotationMatrix* zRot =
new G4RotationMatrix;
340 zRot->rotateZ(15*i*deg);
342 physicalpipe1=
new G4PVPlacement(zRot,G4ThreeVector(-(std::sqrt(innerShield[0]*innerShield[0]-pipe1[2]/2*pipe1[2]/2)-
343 (pipe1[1]+pipe1[4])/2)*std::sin(15*
pi/180*i)*mm,-(std::sqrt(innerShield[0]*innerShield[0]-
344 pipe1[2]/2*pipe1[2]/2)-(pipe1[1]+pipe1[4])/2)*std::cos(15*
pi/180*i)*mm,0),
345 logicalpipe1,osnamerein.str(),logicalSCM,
false,0);
348 G4Box* solidpipe2 =
new G4Box(
"solidpipe2",pipe2[2]/2*mm,(pipe2[1]+pipe2[4])/2*mm,pipe2[5]/2*mm);
349 logicalpipe2 =
new G4LogicalVolume(solidpipe2,G4Material::GetMaterial(
"Air"),
"logicalpipe2");
350 G4Tubs* tub20 =
new G4Tubs(
"tub20",pipe2[0]*mm,pipe2[1]*mm,pipe2[5]/2*mm,0,360);
351 G4Tubs* tub21 =
new G4Tubs(
"tub21",0,pipe2[1]*mm,pipe2[5]/2*mm,0,360);
352 G4Tubs* tub22 =
new G4Tubs(
"tub22",0,pipe2[0]*mm,pipe2[5]/2*mm,0,360);
353 G4Box* solidbox2 =
new G4Box(
"solidbox2",pipe2[2]/2*mm,pipe2[3]/2*mm,pipe2[5]/2*mm);
354 G4SubtractionSolid* solidsub2 =
new G4SubtractionSolid(
"solidsub2",solidbox2,tub21,0,G4ThreeVector(0,(pipe2[4]-pipe2[3]/2)*mm,0) );
355 G4LogicalVolume* logicalsub2 =
new G4LogicalVolume(solidsub2,G4Material::GetMaterial(
"Aluminium"),
"logicalsub2");
356 G4LogicalVolume* logicaltub20 =
new G4LogicalVolume(tub20,G4Material::GetMaterial(
"Aluminium"),
"logicaltub20");
357 G4LogicalVolume* logicaltub22 =
new G4LogicalVolume(tub22,liquidhelium,
"logicaltub22");
359 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub20,
"physicaltub20",logicalpipe2,
false,0);
361 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub22,
"physicaltub22",logicalpipe2,
false,0);
363 new G4PVPlacement(0,G4ThreeVector(0,-(pipe2[4]-pipe2[3]/2)*mm,0),logicalsub2,
"physicalsub2",logicalpipe2,
false,0);
364 for(G4int i=0; i<24; i++)
366 std::ostringstream osnamerein;
367 osnamerein <<
"physicalpipe2_"<<i;
368 G4RotationMatrix* zRot =
new G4RotationMatrix;
369 zRot->rotateZ(15*i*deg);
370 physicalpipe2=
new G4PVPlacement(zRot,G4ThreeVector(-(l3Adia[1]+(pipe2[1]+pipe2[4])/2)*std::sin(15*
pi/180*i)*mm,
371 -(l3Adia[1]+(pipe2[1]+pipe2[4])/2)*std::cos(15*
pi/180*i)*mm,0),logicalpipe2,osnamerein.str(),
376 G4Box* solidpipe3 =
new G4Box(
"solidpipe3",pipe3[2]/2*mm,(pipe3[1]+pipe3[4])/2*mm,pipe3[5]/2*mm);
377 logicalpipe3 =
new G4LogicalVolume(solidpipe3,G4Material::GetMaterial(
"Air"),
"logicalpipe3");
378 G4Tubs* tub23 =
new G4Tubs(
"tub23",pipe3[0]*mm,pipe3[1]*mm,pipe3[5]/2*mm,0,360);
379 G4Tubs* tub24 =
new G4Tubs(
"tub24",0,pipe3[1]*mm,pipe3[5]/2*mm,0,360);
380 G4Tubs* tub25 =
new G4Tubs(
"tub25",0,pipe3[0]*mm,pipe3[5]/2*mm,0,360);
381 G4Box* solidbox3 =
new G4Box(
"solidbox3",pipe3[2]/2*mm,pipe3[3]/2*mm,pipe3[5]/2*mm);
382 G4SubtractionSolid* solidsub3 =
new G4SubtractionSolid(
"solidsub3",solidbox3,tub24,0,G4ThreeVector(0,(pipe3[4]-pipe3[3]/2)*mm,0));
383 G4LogicalVolume* logicalsub3 =
new G4LogicalVolume(solidsub3,G4Material::GetMaterial(
"Aluminium"),
"logicalsub3");
384 G4LogicalVolume* logicaltub23 =
new G4LogicalVolume(tub23,G4Material::GetMaterial(
"Aluminium"),
"logicaltub23");
385 G4LogicalVolume* logicaltub25 =
new G4LogicalVolume(tub25,liquidhelium,
"logicaltub25");
387 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub23,
"physicaltub23",logicalpipe3,
false,0);
389 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub25,
"physicaltub25",logicalpipe3,
false,0);
391 new G4PVPlacement(0,G4ThreeVector(0,-(pipe3[4]-pipe3[3]/2)*mm,0),logicalsub3,
"physicalsub3",logicalpipe3,
false,0);
392 for(G4int i=0; i<24; i++)
394 std::ostringstream osnamerein;
395 osnamerein <<
"physicalpipe3_"<<i;
396 G4RotationMatrix* zRot =
new G4RotationMatrix;
397 zRot->rotateZ(15*i*deg);
398 physicalpipe3=
new G4PVPlacement(zRot,G4ThreeVector(-(l4Adia[1]+(pipe3[1]+pipe3[4])/2)*std::sin(15*
pi/180*i)*mm,
399 -(l4Adia[1]+(pipe3[1]+pipe3[4])/2)*std::cos(15*
pi/180*i)*mm,0),logicalpipe3,osnamerein.str(),
404 G4VisAttributes* visSCM1 =
new G4VisAttributes(G4Colour(0.,0.,1.));
405 logicalSCM->SetVisAttributes(visSCM1);
406 logicalinnCryo->SetVisAttributes(visSCM1);
408 logicalouterCryo->SetVisAttributes(visSCM1);
410 logicalendCryo->SetVisAttributes(visSCM1);
412 G4VisAttributes* visSCM2 =
new G4VisAttributes(G4Colour(0.,1.,0.));
413 logicall1Adia->SetVisAttributes(visSCM2);
415 logicall2Adia->SetVisAttributes(visSCM2);
417 logicall3Adia->SetVisAttributes(visSCM2);
419 logicall4Adia->SetVisAttributes(visSCM2);
421 G4VisAttributes* visSCM3 =
new G4VisAttributes(G4Colour(1.,0.,0.));
422 logicalinnShield->SetVisAttributes(visSCM3);
424 logicaloutShield->SetVisAttributes(visSCM3);
426 logicalendShield->SetVisAttributes(visSCM3);
429 G4VisAttributes* visSCM4 =
new G4VisAttributes(G4Colour(0.,1.,1.));
430 logicall1insu->SetVisAttributes(visSCM4);
432 logicall2insu->SetVisAttributes(visSCM4);
434 G4VisAttributes* visSCM5 =
new G4VisAttributes(G4Colour(1.,0.,1.));
435 logicalcoil->SetVisAttributes(visSCM5);
437 logicalendCoil->SetVisAttributes(visSCM5);
439 G4VisAttributes* visSCM6 =
new G4VisAttributes(G4Colour(1.,1.,0.));
440 logicalsupp->SetVisAttributes(visSCM6);
445 logicalpipe2->SetVisAttributes(visSCM2);
448 logicaltub17->SetVisAttributes(visSCM2);
450 logicaltub19->SetVisAttributes(visSCM5);
452 logicaltub20->SetVisAttributes(visSCM1);
454 logicaltub22->SetVisAttributes(visSCM1);
456 logicaltub23->SetVisAttributes(visSCM2);
458 logicaltub25->SetVisAttributes(visSCM5);
460 logicalsub1->SetVisAttributes(visSCM4);
462 logicalsub2->SetVisAttributes(visSCM4);
465 logicalsub3->SetVisAttributes(visSCM4);
467 logicalhole1->SetVisAttributes(visSCM3);
469 logicalhole2->SetVisAttributes(visSCM3);
471 logicalhole3->SetVisAttributes(visSCM3);
473 logicalhole4->SetVisAttributes(visSCM3);
475 logicalhole5->SetVisAttributes(visSCM3);
***************************************************************************************Pseudo Class RRes *****************************************************************************************Parameters and physical constants **Maarten sept ************************************************************************DOUBLE PRECISION xsmu **************************************************************************PARTICLE DATA all others are from PDG *Only resonances with known widths into electron pairs are sept ************************************************************************C Declarations C
G4double getL3Adia(G4int i)
G4double getL1insu(G4int i)
G4double getPipe3(G4int i)
G4double getEndCoil(G4int i)
G4double getOuterShield(G4int i)
G4double getCoil(G4int i)
G4double getRein(G4int i)
G4double getL1Adia(G4int i)
G4double getHole(G4int i)
G4double getL2insu(G4int i)
G4double getL4Adia(G4int i)
G4double getPipe1(G4int i)
G4double getEndCryo(G4int i)
G4double getL2Adia(G4int i)
G4double getInnerCryo(G4int i)
G4double getSupp(G4int i)
G4double getInnerShield(G4int i)
G4double getOuterCryo(G4int i)
G4double getEndShield(G4int i)
G4double getPipe2(G4int i)
void Construct(G4LogicalVolume *logicbes)