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"
27#include "G4SystemOfUnits.hh"
28#include "G4PhysicalConstants.hh"
34 for(G4int i=0; i<3; i++)
49 for(G4int i=0; i<5; i++)
57 for(G4int i=0; i<6; i++)
64 for(G4int i=0; i<13; i++)
76 physicalinnShield = 0;
82 physicaloutShield = 0;
88 physicalendShield1 = 0;
89 physicalendShield2 = 0;
107 physicalendCoil1 = 0;
108 physicalendCoil2 = 0;
110 logicalouterCryo = 0;
111 physicalouterCryo = 0;
114 physicalendCryo1 = 0;
115 physicalendCryo2 = 0;
137 G4double density, a, z,fractionmass;
139 G4String name, symbol;
140 density = 0.1248*g/cm3;
142 liquidhelium =
new G4Material(name=
"liquidhelium",z=2.0,a,density);
144 density = 7.14*g/cm3;
146 G4Material* Chromium =
new G4Material(name=
"Chromium",z=24.0,a,density);
148 density = 7.87*g/cm3;
150 G4Material* Iron =
new G4Material(name=
"Iron",z=26.0,a,density);
152 density = 8.91*g/cm3;
154 G4Material* Nickel =
new G4Material(name=
"Nickel",z=28.0,a,density);
156 density = 7.47*g/cm3;
158 G4Material* Manganese =
new G4Material(name=
"Manganese",z=25.0,a,density);
160 density = 7.801*g/cm3;
161 Steel =
new G4Material(name=
"Steel",density,nel=4);
162 Steel->AddMaterial(Iron, fractionmass = 0.69);
163 Steel->AddMaterial(Chromium, fractionmass = 0.19);
164 Steel->AddMaterial(Manganese, fractionmass = 0.02);
165 Steel->AddMaterial(Nickel, fractionmass = 0.10);
168 G4Element*
C =
new G4Element(name=
"Carbon" ,symbol=
"C" , z= 6., a);
170 G4Element*
H =
new G4Element(name=
"Hydrogen",symbol=
"H" , z= 1., a);
172 G4Element* O =
new G4Element(name=
"Oxygen" ,symbol=
"O" , z= 8., a);
174 density = 2.25*mg/cm3;
175 fibre =
new G4Material(name=
"fibre",density,nel=3);
176 fibre->AddElement(
C, fractionmass = 0.625);
177 fibre->AddElement(
H, fractionmass = 0.042);
178 fibre->AddElement(O, fractionmass = 0.333);
185 G4RotationMatrix* xRot =
new G4RotationMatrix;
186 xRot->rotateX(90*deg);
188 G4Tubs* hole1 =
new G4Tubs(
"hole1",hole[0],hole[1],hole[2]/2,0,360);
189 G4LogicalVolume* logicalhole1 =
new G4LogicalVolume(hole1, Steel,
"logicalhole1");
191 new G4PVPlacement(xRot,G4ThreeVector(0,(outerCryo[1]+hole[2]/2)*mm,1640*mm),logicalhole1,
"physicalhole1",logicalbes,
false,0);
193 G4Tubs* hole2 =
new G4Tubs(
"hole2",hole[3],hole[4],hole[5]/2,0,360);
194 G4LogicalVolume* logicalhole2 =
new G4LogicalVolume(hole2, Steel,
"logicalhole2");
196 new G4PVPlacement(xRot,G4ThreeVector(0,(outerCryo[1]+hole[2]+hole[5]/2)*mm,1640*mm),logicalhole2,
"physicalhole2",logicalbes,
false,0);
198 G4Tubs* hole3 =
new G4Tubs(
"hole3",hole[6],hole[7],hole[12]/2,0,360);
199 G4LogicalVolume* logicalhole3 =
new G4LogicalVolume(hole3, Steel,
"logicalhole3");
201 new G4PVPlacement(xRot,G4ThreeVector(0,(outerCryo[1]+hole[2]+hole[12]/2)*mm,1640*mm),logicalhole3,
"physicalhole3",logicalbes,
false,0);
203 G4Tubs* hole4 =
new G4Tubs(
"hole4",hole[8],hole[9],hole[12]/2,0,360);
204 G4LogicalVolume* logicalhole4 =
new G4LogicalVolume(hole4, G4Material::GetMaterial(
"Aluminium"),
"logicalhole4");
206 new G4PVPlacement(xRot,G4ThreeVector(0,(l3Adia[1]+pipe2[1]+pipe2[4]+hole[12]/2)*mm,1640*mm),logicalhole4,
"physicalhole4",logicalbes,
false,0);
208 G4Box* hole5 =
new G4Box(
"hole5",hole[10]/2,hole[11]/2,hole[12]/2);
209 G4LogicalVolume* logicalhole5 =
new G4LogicalVolume(hole5, G4Material::GetMaterial(
"Aluminium"),
"logicalhole5");
211 new G4PVPlacement(xRot,G4ThreeVector(0,(l3Adia[1]+pipe2[1]+pipe2[4]+hole[12]/2)*mm,1640*mm),logicalhole5,
"physicalhole5",logicalbes,
false,0);
214 G4Tubs* solidSCM_tmp =
new G4Tubs(
"solidSCM_tmp",innerCryo[0]*mm,1700*mm,(outerCryo[2]+2*endCryo[2])/2.0*mm,0,360);
215 G4Tubs* hole_tmp1 =
new G4Tubs(
"hole_tmp1",0,hole[1],(1700.-1617.5+2)/2.*mm,0,360);
216 G4SubtractionSolid* solidSCM =
new G4SubtractionSolid(
"solidSCM",solidSCM_tmp,hole_tmp1,xRot,G4ThreeVector(0,(1700.+1617.5+2)/2*mm,1640*mm) );
217 logicalSCM =
new G4LogicalVolume(solidSCM, G4Material::GetMaterial(
"Air"),
"logicalSCM");
218 physicalSCM =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalSCM,
"physicalSCM",logicalbes,
false,0);
220 G4Tubs* tub1 =
new G4Tubs(
"tub1",innerCryo[0]*mm,innerCryo[1]*mm,innerCryo[2]/2.0*mm,0,360);
221 logicalinnCryo =
new G4LogicalVolume(tub1, Steel,
"logicalinnCryo");
222 physicalinnCryo =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalinnCryo,
"physicalinnCryo",logicalSCM,
false,0);
224 G4Tubs* tub2 =
new G4Tubs(
"tub2",l1Adia[0]*mm,l1Adia[1]*mm,l1Adia[2]/2.0*mm,0,360);
225 logicall1Adia =
new G4LogicalVolume(tub2, fibre,
"logicall1Adia");
226 physicall1Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall1Adia,
"physicall1Adia",logicalSCM,
false,0);
228 G4Tubs* tub3 =
new G4Tubs(
"tub3",innerShield[0]*mm,innerShield[1]*mm,innerShield[2]/2.0*mm,0,360);
229 logicalinnShield =
new G4LogicalVolume(tub3, G4Material::GetMaterial(
"Aluminium"),
"logicalinnShield");
230 physicalinnShield =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalinnShield,
"physicalinnShield",logicalSCM,
false,0);
232 G4Tubs* tub4 =
new G4Tubs(
"tub4",l2Adia[0]*mm,l2Adia[1]*mm,l2Adia[2]/2.0*mm,0,360);
233 logicall2Adia =
new G4LogicalVolume(tub4, fibre,
"logicall2Adia");
234 physicall2Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall2Adia,
"physicall2Adia",logicalSCM,
false,0);
236 G4Tubs* hole_tmp3 =
new G4Tubs(
"hole_tmp3",0,hole[8]*mm,25*mm,0,360);
237 G4Tubs* tub5_tmp =
new G4Tubs(
"tub5_tmp",outerShield[0]*mm,outerShield[1]*mm,outerShield[2]/2.0*mm,0,360);
238 G4SubtractionSolid* tub5 =
new G4SubtractionSolid(
"tub5",tub5_tmp,hole_tmp3,xRot,G4ThreeVector(0,(outerShield[0]+outerShield[1])/2*mm,1640*mm) );
239 logicaloutShield =
new G4LogicalVolume(tub5, G4Material::GetMaterial(
"Aluminium"),
"logicaloutShield");
240 physicaloutShield =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaloutShield,
"physicaloutShield",logicalSCM,
false,0);
242 G4Tubs* tub6_tmp =
new G4Tubs(
"tub6_tmp",l3Adia[0]*mm,l3Adia[1]*mm,l3Adia[2]/2.0*mm,0,360);
243 G4SubtractionSolid* tub6 =
new G4SubtractionSolid(
"tub6",tub6_tmp,hole_tmp3,xRot,G4ThreeVector(0,(l3Adia[0]+l3Adia[1])/2*mm,1640*mm) );
244 logicall3Adia =
new G4LogicalVolume(tub6, fibre,
"logicall3Adia");
245 physicall3Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall3Adia,
"physicall3Adia",logicalSCM,
false,0);
247 G4Tubs* tub7 =
new G4Tubs(
"tub7",endShield[0]*mm,endShield[1]*mm,endShield[2]/2.0*mm,0,360);
248 logicalendShield =
new G4LogicalVolume(tub7, G4Material::GetMaterial(
"Aluminium"),
"logicalendShield");
249 physicalendShield1 =
new G4PVPlacement(0,G4ThreeVector(0,0,endShield[3]*mm),logicalendShield,
"physicalendShield1",logicalSCM,
false,0);
250 physicalendShield2 =
new G4PVPlacement(0,G4ThreeVector(0,0,endShield[4]*mm),logicalendShield,
"physicalendShield2",logicalSCM,
false,1);
252 G4Tubs* tub8 =
new G4Tubs(
"tub8",l1insu[0]*mm,l1insu[1]*mm,l1insu[2]/2.0*mm,0,360);
253 logicall1insu =
new G4LogicalVolume(tub8, fibre,
"logicall1insu");
254 physicall1insu =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall1insu,
"physicall1insu",logicalSCM,
false,0);
256 G4Tubs* tub9 =
new G4Tubs(
"tub9",coil[0]*mm,coil[1]*mm,coil[2]/2.0*mm,0,360);
257 logicalcoil =
new G4LogicalVolume(tub9, G4Material::GetMaterial(
"Aluminium"),
"logicalcoil");
258 physicalcoil =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalcoil,
"physicalcoil",logicalSCM,
false,0);
260 G4Tubs* tub10 =
new G4Tubs(
"tub10",l2insu[0]*mm,l2insu[1]*mm,l2insu[2]/2.0*mm,0,360);
261 logicall2insu =
new G4LogicalVolume(tub10, fibre,
"logicall2insu");
262 physicall2insu =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall2insu,
"physicall2insu",logicalSCM,
false,0);
264 G4Tubs* tub11 =
new G4Tubs(
"tub11",supp[0]*mm,supp[1]*mm,supp[2]/2.0*mm,0,360);
265 logicalsupp =
new G4LogicalVolume(tub11, G4Material::GetMaterial(
"Aluminium"),
"logicalsupp");
266 physicalsupp =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalsupp,
"physicalsupp",logicalSCM,
false,0);
268 G4Tubs* tub12 =
new G4Tubs(
"tub12",l4Adia[0]*mm,l4Adia[1]*mm,l4Adia[2]/2.0*mm,0,360);
269 logicall4Adia =
new G4LogicalVolume(tub12, fibre,
"logicall4Adia");
270 physicall4Adia =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicall4Adia,
"physicall4Adia",logicalSCM,
false,0);
272 G4Tubs* tub13 =
new G4Tubs(
"tub13",endCoil[0]*mm,endCoil[1]*mm,endCoil[2]/2.0*mm,0,360);
273 logicalendCoil =
new G4LogicalVolume(tub13, G4Material::GetMaterial(
"Aluminium"),
"logicalendCoil");
274 physicalendCoil1 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCoil[3]*mm),logicalendCoil,
"physicalendCoil1",logicalSCM,
false,0);
275 physicalendCoil2 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCoil[4]*mm),logicalendCoil,
"physicalendCoil2",logicalSCM,
false,1);
277 G4Tubs* hole_tmp2 =
new G4Tubs(
"hole_tmp2",0,hole[1],18*mm,0,360);
278 G4Tubs* tub14_tmp =
new G4Tubs(
"tub14_tmp",outerCryo[0]*mm,outerCryo[1]*mm,outerCryo[2]/2.0*mm,0,360);
279 G4SubtractionSolid* tub14 =
new G4SubtractionSolid(
"tub14",tub14_tmp,hole_tmp2,xRot,G4ThreeVector(0,(outerCryo[1]-8)*mm,1640*mm) );
280 logicalouterCryo =
new G4LogicalVolume(tub14, Steel,
"logicalouterCryo");
281 physicalouterCryo =
new G4PVPlacement(0,G4ThreeVector(0,0,0),logicalouterCryo,
"physicalouterCryo",logicalSCM,
false,0);
283 G4Tubs* tub15 =
new G4Tubs(
"tub15",endCryo[0]*mm,endCryo[1]*mm,endCryo[2]/2.0*mm,0,360);
284 logicalendCryo =
new G4LogicalVolume(tub15, Steel,
"logicalendCryo");
285 physicalendCryo1 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCryo[3]*mm),logicalendCryo,
"physicalendCryo1",logicalSCM,
false,0);
286 physicalendCryo2 =
new G4PVPlacement(0,G4ThreeVector(0,0,endCryo[4]*mm),logicalendCryo,
"physicalendCryo2",logicalSCM,
false,1);
321 G4Box* solidpipe1 =
new G4Box(
"solidpipe1",pipe1[2]/2*mm,(pipe1[1]+pipe1[4])/2*mm,pipe1[5]/2*mm);
322 logicalpipe1 =
new G4LogicalVolume(solidpipe1, G4Material::GetMaterial(
"Air"),
"logicalpipe1");
323 G4Tubs* tub17 =
new G4Tubs(
"tub17",pipe1[0]*mm,pipe1[1]*mm,pipe1[5]/2*mm,0,360);
324 G4Tubs* tub18 =
new G4Tubs(
"tub18",0,pipe1[1]*mm,pipe1[5]/2*mm,0,360);
325 G4Tubs* tub19 =
new G4Tubs(
"tub19",0,pipe1[0]*mm,pipe1[5]/2*mm,0,360);
326 G4Box* solidbox1 =
new G4Box(
"solidbox1",pipe1[2]/2*mm,pipe1[3]/2*mm,pipe1[5]/2*mm);
327 G4SubtractionSolid* solidsub1 =
new G4SubtractionSolid(
"solidsub1",solidbox1,tub18,0,G4ThreeVector(0,(pipe1[4]-pipe1[3]/2)*mm,0) );
328 G4LogicalVolume* logicalsub1 =
new G4LogicalVolume(solidsub1, G4Material::GetMaterial(
"Aluminium"),
"logicalsub1");
329 G4LogicalVolume* logicaltub17 =
new G4LogicalVolume(tub17, G4Material::GetMaterial(
"Aluminium"),
"logicaltub17");
330 G4LogicalVolume* logicaltub19 =
new G4LogicalVolume(tub19,liquidhelium,
"logicaltub19");
332 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub17,
"physicaltub17",logicalpipe1,
false,0);
334 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub19,
"physicaltub19",logicalpipe1,
false,0);
336 new G4PVPlacement(0,G4ThreeVector(0,-(pipe1[4]-pipe1[3]/2)*mm,0),logicalsub1,
"physicalsub1",logicalpipe1,
false,0);
337 for(G4int i=0; i<24; i++)
339 std::ostringstream osnamerein;
340 osnamerein <<
"physicalpipe1_"<<i;
341 G4RotationMatrix* zRot =
new G4RotationMatrix;
342 zRot->rotateZ(15*i*deg);
344 physicalpipe1=
new G4PVPlacement(zRot,G4ThreeVector(-(std::sqrt(innerShield[0]*innerShield[0]-pipe1[2]/2*pipe1[2]/2)-
345 (pipe1[1]+pipe1[4])/2)*std::sin(15*
pi/180*i)*mm,-(std::sqrt(innerShield[0]*innerShield[0]-
346 pipe1[2]/2*pipe1[2]/2)-(pipe1[1]+pipe1[4])/2)*std::cos(15*
pi/180*i)*mm,0),
347 logicalpipe1,osnamerein.str(),logicalSCM,
false,0);
350 G4Box* solidpipe2 =
new G4Box(
"solidpipe2",pipe2[2]/2*mm,(pipe2[1]+pipe2[4])/2*mm,pipe2[5]/2*mm);
351 logicalpipe2 =
new G4LogicalVolume(solidpipe2,G4Material::GetMaterial(
"Air"),
"logicalpipe2");
352 G4Tubs* tub20 =
new G4Tubs(
"tub20",pipe2[0]*mm,pipe2[1]*mm,pipe2[5]/2*mm,0,360);
353 G4Tubs* tub21 =
new G4Tubs(
"tub21",0,pipe2[1]*mm,pipe2[5]/2*mm,0,360);
354 G4Tubs* tub22 =
new G4Tubs(
"tub22",0,pipe2[0]*mm,pipe2[5]/2*mm,0,360);
355 G4Box* solidbox2 =
new G4Box(
"solidbox2",pipe2[2]/2*mm,pipe2[3]/2*mm,pipe2[5]/2*mm);
356 G4SubtractionSolid* solidsub2 =
new G4SubtractionSolid(
"solidsub2",solidbox2,tub21,0,G4ThreeVector(0,(pipe2[4]-pipe2[3]/2)*mm,0) );
357 G4LogicalVolume* logicalsub2 =
new G4LogicalVolume(solidsub2,G4Material::GetMaterial(
"Aluminium"),
"logicalsub2");
358 G4LogicalVolume* logicaltub20 =
new G4LogicalVolume(tub20,G4Material::GetMaterial(
"Aluminium"),
"logicaltub20");
359 G4LogicalVolume* logicaltub22 =
new G4LogicalVolume(tub22,liquidhelium,
"logicaltub22");
361 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub20,
"physicaltub20",logicalpipe2,
false,0);
363 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub22,
"physicaltub22",logicalpipe2,
false,0);
365 new G4PVPlacement(0,G4ThreeVector(0,-(pipe2[4]-pipe2[3]/2)*mm,0),logicalsub2,
"physicalsub2",logicalpipe2,
false,0);
366 for(G4int i=0; i<24; i++)
368 std::ostringstream osnamerein;
369 osnamerein <<
"physicalpipe2_"<<i;
370 G4RotationMatrix* zRot =
new G4RotationMatrix;
371 zRot->rotateZ(15*i*deg);
372 physicalpipe2=
new G4PVPlacement(zRot,G4ThreeVector(-(l3Adia[1]+(pipe2[1]+pipe2[4])/2)*std::sin(15*
pi/180*i)*mm,
373 -(l3Adia[1]+(pipe2[1]+pipe2[4])/2)*std::cos(15*
pi/180*i)*mm,0),logicalpipe2,osnamerein.str(),
378 G4Box* solidpipe3 =
new G4Box(
"solidpipe3",pipe3[2]/2*mm,(pipe3[1]+pipe3[4])/2*mm,pipe3[5]/2*mm);
379 logicalpipe3 =
new G4LogicalVolume(solidpipe3,G4Material::GetMaterial(
"Air"),
"logicalpipe3");
380 G4Tubs* tub23 =
new G4Tubs(
"tub23",pipe3[0]*mm,pipe3[1]*mm,pipe3[5]/2*mm,0,360);
381 G4Tubs* tub24 =
new G4Tubs(
"tub24",0,pipe3[1]*mm,pipe3[5]/2*mm,0,360);
382 G4Tubs* tub25 =
new G4Tubs(
"tub25",0,pipe3[0]*mm,pipe3[5]/2*mm,0,360);
383 G4Box* solidbox3 =
new G4Box(
"solidbox3",pipe3[2]/2*mm,pipe3[3]/2*mm,pipe3[5]/2*mm);
384 G4SubtractionSolid* solidsub3 =
new G4SubtractionSolid(
"solidsub3",solidbox3,tub24,0,G4ThreeVector(0,(pipe3[4]-pipe3[3]/2)*mm,0));
385 G4LogicalVolume* logicalsub3 =
new G4LogicalVolume(solidsub3,G4Material::GetMaterial(
"Aluminium"),
"logicalsub3");
386 G4LogicalVolume* logicaltub23 =
new G4LogicalVolume(tub23,G4Material::GetMaterial(
"Aluminium"),
"logicaltub23");
387 G4LogicalVolume* logicaltub25 =
new G4LogicalVolume(tub25,liquidhelium,
"logicaltub25");
389 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub23,
"physicaltub23",logicalpipe3,
false,0);
391 new G4PVPlacement(0,G4ThreeVector(0,0,0),logicaltub25,
"physicaltub25",logicalpipe3,
false,0);
393 new G4PVPlacement(0,G4ThreeVector(0,-(pipe3[4]-pipe3[3]/2)*mm,0),logicalsub3,
"physicalsub3",logicalpipe3,
false,0);
394 for(G4int i=0; i<24; i++)
396 std::ostringstream osnamerein;
397 osnamerein <<
"physicalpipe3_"<<i;
398 G4RotationMatrix* zRot =
new G4RotationMatrix;
399 zRot->rotateZ(15*i*deg);
400 physicalpipe3=
new G4PVPlacement(zRot,G4ThreeVector(-(l4Adia[1]+(pipe3[1]+pipe3[4])/2)*std::sin(15*
pi/180*i)*mm,
401 -(l4Adia[1]+(pipe3[1]+pipe3[4])/2)*std::cos(15*
pi/180*i)*mm,0),logicalpipe3,osnamerein.str(),
406 G4VisAttributes* visSCM1 =
new G4VisAttributes(G4Colour(0.,0.,1.));
407 logicalSCM->SetVisAttributes(visSCM1);
408 logicalinnCryo->SetVisAttributes(visSCM1);
410 logicalouterCryo->SetVisAttributes(visSCM1);
412 logicalendCryo->SetVisAttributes(visSCM1);
414 G4VisAttributes* visSCM2 =
new G4VisAttributes(G4Colour(0.,1.,0.));
415 logicall1Adia->SetVisAttributes(visSCM2);
417 logicall2Adia->SetVisAttributes(visSCM2);
419 logicall3Adia->SetVisAttributes(visSCM2);
421 logicall4Adia->SetVisAttributes(visSCM2);
423 G4VisAttributes* visSCM3 =
new G4VisAttributes(G4Colour(1.,0.,0.));
424 logicalinnShield->SetVisAttributes(visSCM3);
426 logicaloutShield->SetVisAttributes(visSCM3);
428 logicalendShield->SetVisAttributes(visSCM3);
431 G4VisAttributes* visSCM4 =
new G4VisAttributes(G4Colour(0.,1.,1.));
432 logicall1insu->SetVisAttributes(visSCM4);
434 logicall2insu->SetVisAttributes(visSCM4);
436 G4VisAttributes* visSCM5 =
new G4VisAttributes(G4Colour(1.,0.,1.));
437 logicalcoil->SetVisAttributes(visSCM5);
439 logicalendCoil->SetVisAttributes(visSCM5);
441 G4VisAttributes* visSCM6 =
new G4VisAttributes(G4Colour(1.,1.,0.));
442 logicalsupp->SetVisAttributes(visSCM6);
447 logicalpipe2->SetVisAttributes(visSCM2);
450 logicaltub17->SetVisAttributes(visSCM2);
452 logicaltub19->SetVisAttributes(visSCM5);
454 logicaltub20->SetVisAttributes(visSCM1);
456 logicaltub22->SetVisAttributes(visSCM1);
458 logicaltub23->SetVisAttributes(visSCM2);
460 logicaltub25->SetVisAttributes(visSCM5);
462 logicalsub1->SetVisAttributes(visSCM4);
464 logicalsub2->SetVisAttributes(visSCM4);
467 logicalsub3->SetVisAttributes(visSCM4);
469 logicalhole1->SetVisAttributes(visSCM3);
471 logicalhole2->SetVisAttributes(visSCM3);
473 logicalhole3->SetVisAttributes(visSCM3);
475 logicalhole4->SetVisAttributes(visSCM3);
477 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)