-
-
944 Int_t size = clref.GetEntriesFast();
-
-
-
-
+
Definition at line 931 of file NuTauMudet.cxx.
+
+
+
938 Int_t size = clref.GetEntriesFast();
+
+
+
+
@@ -741,520 +741,514 @@
315 TGeoUniformMagField *retFieldU = new TGeoUniformMagField(0.,0.,-fField);
316 TGeoUniformMagField *retFieldL =
new TGeoUniformMagField(0.,0.,
fField);
-
-
-
-
-
322 TGeoVolumeAssembly *volMudetBox =
new TGeoVolumeAssembly(
"volNuTauMudet");
-
323 tTauNuDet->AddNode(volMudetBox, 1,
new TGeoTranslation(0,10*
cm,
fZcenter));
-
-
-
326 TGeoVolume *volUpYoke =
new TGeoVolume(
"volUpYoke",UpYokeBox,air);
-
327 volMudetBox->AddNode(volUpYoke,1,
new TGeoTranslation(0,
fYtot/2 -
fYRyoke/2,0));
-
328 volUpYoke->SetField(retFieldU);
-
-
-
-
332 TGeoVolume *volFeYoke =
new TGeoVolume(
"volFeYoke",FeYoke,Iron);
-
333 volFeYoke->SetLineColor(kGray+1);
-
-
-
336 TGeoVolume *volFeYoke1 =
new TGeoVolume(
"volFeYoke1",FeYoke1,Iron);
-
337 volFeYoke1->SetLineColor(kGray+1);
-
-
339 TGeoBBox *CoilContainer =
new TGeoBBox(
"CoilContainer",
fXtot/2,
fCoilH/2, 40*
cm);
-
340 TGeoVolume *volCoilContainer =
new TGeoVolume(
"volCoilContainer",CoilContainer,air);
-
-
-
343 TGeoVolume *volCoil =
new TGeoVolume(
"volCoil",Coil,Cu);
-
344 volCoil->SetLineColor(kOrange -5);
-
-
-
-
-
-
-
-
352 TGeoVolume *volCoilV =
new TGeoVolume(
"volCoilV",CoilV,Cu);
-
353 volCoilV->SetLineColor(kOrange -5);
-
-
-
-
-
-
-
-
+
+
+
320 TGeoVolumeAssembly *volMudetBox =
new TGeoVolumeAssembly(
"volNuTauMudet");
+
321 tTauNuDet->AddNode(volMudetBox, 1,
new TGeoTranslation(0,10*
cm,
fZcenter));
+
+
+
324 TGeoVolume *volUpYoke =
new TGeoVolume(
"volUpYoke",UpYokeBox,air);
+
325 volMudetBox->AddNode(volUpYoke,1,
new TGeoTranslation(0,
fYtot/2 -
fYRyoke/2,0));
+
326 volUpYoke->SetField(retFieldU);
+
+
+
+
330 TGeoVolume *volFeYoke =
new TGeoVolume(
"volFeYoke",FeYoke,Iron);
+
331 volFeYoke->SetLineColor(kGray+1);
+
+
+
334 TGeoVolume *volFeYoke1 =
new TGeoVolume(
"volFeYoke1",FeYoke1,Iron);
+
335 volFeYoke1->SetLineColor(kGray+1);
+
+
337 TGeoBBox *CoilContainer =
new TGeoBBox(
"CoilContainer",
fXtot/2,
fCoilH/2, 40*
cm);
+
338 TGeoVolume *volCoilContainer =
new TGeoVolume(
"volCoilContainer",CoilContainer,air);
+
+
+
341 TGeoVolume *volCoil =
new TGeoVolume(
"volCoil",Coil,Cu);
+
342 volCoil->SetLineColor(kOrange -5);
+
+
+
+
+
+
+
+
350 TGeoVolume *volCoilV =
new TGeoVolume(
"volCoilV",CoilV,Cu);
+
351 volCoilV->SetLineColor(kOrange -5);
+
+
+
+
+
+
+
+
+
+
-
-
-
365 volUpYoke->AddNode(volFeYoke,1,
new TGeoTranslation(0,0,- (
fZArm +
fGapMiddle)/2));
-
366 volUpYoke->AddNode(volFeYoke,2,
new TGeoTranslation(0,0,(
fZArm +
fGapMiddle)/2));
-
367 volUpYoke->AddNode(volFeYoke1,1,
new TGeoTranslation(0,0,0));
-
368 volUpYoke->AddNode(volCoilContainer,1,
new TGeoTranslation(0,
fYRyoke/2 -
fCoilH/2,0));
-
369 volUpYoke->AddNode(volCoilContainer,2,
new TGeoTranslation(0,-
fYRyoke/2 +
fCoilH/2,0));
-
-
-
372 TGeoVolume *volLowYoke =
new TGeoVolume(
"volLowYoke",LowYokeBox,air);
-
373 volMudetBox->AddNode(volLowYoke,1,
new TGeoTranslation(0,-
fYtot/2 +
fYRyoke/2,0));
-
374 volLowYoke->SetField(retFieldL);
-
-
-
-
-
-
-
-
-
-
-
-
386 volLowYoke->AddNode(volFeYoke,3,
new TGeoTranslation(0,0,- (
fZArm +
fGapMiddle)/2));
-
387 volLowYoke->AddNode(volFeYoke,4,
new TGeoTranslation(0,0,(
fZArm +
fGapMiddle)/2));
-
388 volLowYoke->AddNode(volFeYoke1,1,
new TGeoTranslation(0,0,0));
-
389 volLowYoke->AddNode(volCoilContainer,3,
new TGeoTranslation(0,
fYRyoke/2-
fCoilH/2,0));
-
390 volLowYoke->AddNode(volCoilContainer,4,
new TGeoTranslation(0,-
fYRyoke/2 +
fCoilH/2,0));
-
-
-
393 TGeoBBox *Arm1Box =
new TGeoBBox(
"Arm1MudetBox",
fXFe/2,
fYFe/2,
fZArm/2);
-
394 TGeoVolume *volArm1 =
new TGeoVolume(
"volArm1Mudet", Arm1Box,air);
-
395 TGeoUniformMagField *magField1 =
new TGeoUniformMagField(0.,-
fField,0.);
-
396 volArm1->SetField(magField1);
-
397 volMudetBox ->AddNode(volArm1,ArmNumber,
new TGeoTranslation(0,0,-(
fGapMiddle+
fZArm)/2));
+
363 volUpYoke->AddNode(volFeYoke,1,
new TGeoTranslation(0,0,- (
fZArm +
fGapMiddle)/2));
+
364 volUpYoke->AddNode(volFeYoke,2,
new TGeoTranslation(0,0,(
fZArm +
fGapMiddle)/2));
+
365 volUpYoke->AddNode(volFeYoke1,1,
new TGeoTranslation(0,0,0));
+
366 volUpYoke->AddNode(volCoilContainer,1,
new TGeoTranslation(0,
fYRyoke/2 -
fCoilH/2,0));
+
367 volUpYoke->AddNode(volCoilContainer,2,
new TGeoTranslation(0,-
fYRyoke/2 +
fCoilH/2,0));
+
+
+
370 TGeoVolume *volLowYoke =
new TGeoVolume(
"volLowYoke",LowYokeBox,air);
+
371 volMudetBox->AddNode(volLowYoke,1,
new TGeoTranslation(0,-
fYtot/2 +
fYRyoke/2,0));
+
372 volLowYoke->SetField(retFieldL);
+
+
+
+
+
+
+
+
+
+
+
+
384 volLowYoke->AddNode(volFeYoke,3,
new TGeoTranslation(0,0,- (
fZArm +
fGapMiddle)/2));
+
385 volLowYoke->AddNode(volFeYoke,4,
new TGeoTranslation(0,0,(
fZArm +
fGapMiddle)/2));
+
386 volLowYoke->AddNode(volFeYoke1,1,
new TGeoTranslation(0,0,0));
+
387 volLowYoke->AddNode(volCoilContainer,3,
new TGeoTranslation(0,
fYRyoke/2-
fCoilH/2,0));
+
388 volLowYoke->AddNode(volCoilContainer,4,
new TGeoTranslation(0,-
fYRyoke/2 +
fCoilH/2,0));
+
+
+
391 TGeoBBox *Arm1Box =
new TGeoBBox(
"Arm1MudetBox",
fXFe/2,
fYFe/2,
fZArm/2);
+
392 TGeoVolume *volArm1 =
new TGeoVolume(
"volArm1Mudet", Arm1Box,air);
+
393 TGeoUniformMagField *magField1 =
new TGeoUniformMagField(0.,-
fField,0.);
+
394 volArm1->SetField(magField1);
+
395 volMudetBox ->AddNode(volArm1,ArmNumber,
new TGeoTranslation(0,0,-(
fGapMiddle+
fZArm)/2));
+
+
397 Int_t
nr = ArmNumber*1E4;
-
399 Int_t
nr = ArmNumber*1E4;
-
-
401 TGeoBBox *IronLayer =
new TGeoBBox(
"Iron",
fXFe/2,
fYFe/2,
fZFe/2);
-
402 TGeoVolume *volIron =
new TGeoVolume(
"volIron",IronLayer,Iron);
-
-
-
405 for(Int_t
i = 0;
i <
fNFe;
i++)
-
-
-
-
-
-
411 TGeoBBox *RpcContainer =
new TGeoBBox(
"RpcContainer",
fXRpc/2,
fYRpc/2,
fZRpc/2);
-
412 TGeoVolume *volRpcContainer =
new TGeoVolume(
"volRpcContainer",RpcContainer,air);
-
-
-
415 TGeoVolume *volStrip =
new TGeoVolume(
"volStrip",Strip,Cu);
-
416 volStrip->SetLineColor(kRed);
-
417 volRpcContainer->AddNode(volStrip,1,
new TGeoTranslation (0,0,-3.25*
mm));
-
418 volRpcContainer->AddNode(volStrip,2,
new TGeoTranslation (0,0,3.25*
mm));
-
419 TGeoBBox *PETinsulator =
new TGeoBBox(
"PETinsulator",
fXPet/2,
fYPet/2,
fZPet/2);
-
420 TGeoVolume *volPETinsulator =
new TGeoVolume(
"volPETinsulator", PETinsulator, bakelite);
-
421 volPETinsulator->SetLineColor(kYellow);
-
422 volRpcContainer->AddNode(volPETinsulator,1,
new TGeoTranslation(0,0,-3.1*
mm));
-
423 volRpcContainer->AddNode(volPETinsulator,2,
new TGeoTranslation(0,0, 3.1*
mm));
-
424 TGeoBBox *Electrode =
new TGeoBBox(
"Electrode",
fXEle/2,
fYEle/2,
fZEle/2);
-
425 TGeoVolume *volElectrode =
new TGeoVolume(
"volElectrode",Electrode,bakelite);
-
426 volElectrode->SetLineColor(kGreen);
-
427 volRpcContainer->AddNode(volElectrode,1,
new TGeoTranslation(0,0,-2*
mm));
-
428 volRpcContainer->AddNode(volElectrode,2,
new TGeoTranslation(0,0, 2*
mm));
-
-
430 TGeoVolume *volRpc =
new TGeoVolume(
"volRpc",RpcGas,RPCmat);
-
431 volRpc->SetLineColor(kCyan);
-
432 volRpcContainer->AddNode(volRpc,1,
new TGeoTranslation(0,0,0));
+
399 TGeoBBox *IronLayer =
new TGeoBBox(
"Iron",
fXFe/2,
fYFe/2,
fZFe/2);
+
400 TGeoVolume *volIron =
new TGeoVolume(
"volIron",IronLayer,Iron);
+
+
+
403 for(Int_t
i = 0;
i <
fNFe;
i++)
+
+
+
+
+
+
409 TGeoBBox *RpcContainer =
new TGeoBBox(
"RpcContainer",
fXRpc/2,
fYRpc/2,
fZRpc/2);
+
410 TGeoVolume *volRpcContainer =
new TGeoVolume(
"volRpcContainer",RpcContainer,air);
+
+
+
413 TGeoVolume *volStrip =
new TGeoVolume(
"volStrip",Strip,Cu);
+
414 volStrip->SetLineColor(kRed);
+
415 volRpcContainer->AddNode(volStrip,1,
new TGeoTranslation (0,0,-3.25*
mm));
+
416 volRpcContainer->AddNode(volStrip,2,
new TGeoTranslation (0,0,3.25*
mm));
+
417 TGeoBBox *PETinsulator =
new TGeoBBox(
"PETinsulator",
fXPet/2,
fYPet/2,
fZPet/2);
+
418 TGeoVolume *volPETinsulator =
new TGeoVolume(
"volPETinsulator", PETinsulator, bakelite);
+
419 volPETinsulator->SetLineColor(kYellow);
+
420 volRpcContainer->AddNode(volPETinsulator,1,
new TGeoTranslation(0,0,-3.1*
mm));
+
421 volRpcContainer->AddNode(volPETinsulator,2,
new TGeoTranslation(0,0, 3.1*
mm));
+
422 TGeoBBox *Electrode =
new TGeoBBox(
"Electrode",
fXEle/2,
fYEle/2,
fZEle/2);
+
423 TGeoVolume *volElectrode =
new TGeoVolume(
"volElectrode",Electrode,bakelite);
+
424 volElectrode->SetLineColor(kGreen);
+
425 volRpcContainer->AddNode(volElectrode,1,
new TGeoTranslation(0,0,-2*
mm));
+
426 volRpcContainer->AddNode(volElectrode,2,
new TGeoTranslation(0,0, 2*
mm));
+
+
428 TGeoVolume *volRpc =
new TGeoVolume(
"volRpc",RpcGas,RPCmat);
+
429 volRpc->SetLineColor(kCyan);
+
430 volRpcContainer->AddNode(volRpc,1,
new TGeoTranslation(0,0,0));
+
+
432 AddSensitiveVolume(volRpc);
-
434 AddSensitiveVolume(volRpc);
-
-
-
-
-
-
-
-
-
-
444 TGeoBBox *Arm2Box =
new TGeoBBox(
"Arm2MudetBox",
fXFe/2,
fYFe/2,
fZArm/2);
-
445 TGeoVolume *volArm2 =
new TGeoVolume(
"volArm2Mudet", Arm2Box,air);
-
446 TGeoUniformMagField *magField2 =
new TGeoUniformMagField(0.,
fField,0.);
-
447 volArm2->SetField(magField2);
-
448 volMudetBox ->AddNode(volArm2,1,
new TGeoTranslation(0,0,(
fGapMiddle+
fZArm)/2));
-
449 TGeoVolume *volIron2 =
new TGeoVolume(
"volIron2",IronLayer,Iron);
+
+
+
+
+
+
+
+
+
442 TGeoBBox *Arm2Box =
new TGeoBBox(
"Arm2MudetBox",
fXFe/2,
fYFe/2,
fZArm/2);
+
443 TGeoVolume *volArm2 =
new TGeoVolume(
"volArm2Mudet", Arm2Box,air);
+
444 TGeoUniformMagField *magField2 =
new TGeoUniformMagField(0.,
fField,0.);
+
445 volArm2->SetField(magField2);
+
446 volMudetBox ->AddNode(volArm2,1,
new TGeoTranslation(0,0,(
fGapMiddle+
fZArm)/2));
+
447 TGeoVolume *volIron2 =
new TGeoVolume(
"volIron2",IronLayer,Iron);
+
+
-
-
-
453 TGeoVolume *volRpcContainer2 =
new TGeoVolume(
"volRpcContainer2",RpcContainer,air);
-
454 TGeoVolume *volStrip2 =
new TGeoVolume(
"volStrip2",Strip,Cu);
-
-
456 volStrip2->SetLineColor(kRed);
-
457 volRpcContainer2->AddNode(volStrip2,1,
new TGeoTranslation (0,0,-3.25*
mm));
-
458 volRpcContainer2->AddNode(volStrip2,2,
new TGeoTranslation (0,0,3.25*
mm));
-
-
460 TGeoVolume *volPETinsulator2 =
new TGeoVolume(
"volPETinsulator2", PETinsulator, bakelite);
-
461 volPETinsulator2->SetLineColor(kYellow);
-
462 volRpcContainer2->AddNode(volPETinsulator2,1,
new TGeoTranslation(0,0,-3.1*
mm));
-
463 volRpcContainer2->AddNode(volPETinsulator2,2,
new TGeoTranslation(0,0, 3.1*
mm));
-
-
465 TGeoVolume *volElectrode2 =
new TGeoVolume(
"volElectrode2",Electrode,bakelite);
-
466 volElectrode2->SetLineColor(kGreen);
-
467 volRpcContainer2->AddNode(volElectrode2,1,
new TGeoTranslation(0,0,-2*
mm));
-
468 volRpcContainer2->AddNode(volElectrode2,2,
new TGeoTranslation(0,0, 2*
mm));
-
-
470 TGeoVolume *volRpc2 =
new TGeoVolume(
"volRpc2",RpcGas,RPCmat);
-
471 volRpc2->SetLineColor(kCyan);
-
472 volRpcContainer2->AddNode(volRpc2,1,
new TGeoTranslation(0,0,0));
-
473 AddSensitiveVolume(volRpc2);
-
-
475 for(Int_t
i = 0;
i <
fNFe;
i++)
-
-
-
-
-
-
-
-
-
-
-
486 TGeoBBox *Base =
new TGeoBBox(
"Base",
fXtot/2, 10*
cm/2,
fZtot/2);
-
487 TGeoVolume *volBase =
new TGeoVolume(
"volBase",Base,Conc);
-
488 volBase->SetLineColor(kYellow-3);
+
451 TGeoVolume *volRpcContainer2 =
new TGeoVolume(
"volRpcContainer2",RpcContainer,air);
+
452 TGeoVolume *volStrip2 =
new TGeoVolume(
"volStrip2",Strip,Cu);
+
+
454 volStrip2->SetLineColor(kRed);
+
455 volRpcContainer2->AddNode(volStrip2,1,
new TGeoTranslation (0,0,-3.25*
mm));
+
456 volRpcContainer2->AddNode(volStrip2,2,
new TGeoTranslation (0,0,3.25*
mm));
+
+
458 TGeoVolume *volPETinsulator2 =
new TGeoVolume(
"volPETinsulator2", PETinsulator, bakelite);
+
459 volPETinsulator2->SetLineColor(kYellow);
+
460 volRpcContainer2->AddNode(volPETinsulator2,1,
new TGeoTranslation(0,0,-3.1*
mm));
+
461 volRpcContainer2->AddNode(volPETinsulator2,2,
new TGeoTranslation(0,0, 3.1*
mm));
+
+
463 TGeoVolume *volElectrode2 =
new TGeoVolume(
"volElectrode2",Electrode,bakelite);
+
464 volElectrode2->SetLineColor(kGreen);
+
465 volRpcContainer2->AddNode(volElectrode2,1,
new TGeoTranslation(0,0,-2*
mm));
+
466 volRpcContainer2->AddNode(volElectrode2,2,
new TGeoTranslation(0,0, 2*
mm));
+
+
468 TGeoVolume *volRpc2 =
new TGeoVolume(
"volRpc2",RpcGas,RPCmat);
+
469 volRpc2->SetLineColor(kCyan);
+
470 volRpcContainer2->AddNode(volRpc2,1,
new TGeoTranslation(0,0,0));
+
471 AddSensitiveVolume(volRpc2);
+
+
473 for(Int_t
i = 0;
i <
fNFe;
i++)
+
+
+
+
+
+
+
+
+
+
+
484 TGeoBBox *Base =
new TGeoBBox(
"Base",
fXtot/2, 10*
cm/2,
fZtot/2);
+
485 TGeoVolume *volBase =
new TGeoVolume(
"volBase",Base,Conc);
+
486 volBase->SetLineColor(kYellow-3);
+
+
488 tTauNuDet->AddNode(volBase,1,
new TGeoTranslation(0,-
fYtot/2 + 10*
cm/2,
fZcenter));
-
490 tTauNuDet->AddNode(volBase,1,
new TGeoTranslation(0,-
fYtot/2 + 10*
cm/2,
fZcenter));
-
-
-
-
494 TGeoVolume *Pillar1Vol =
new TGeoVolume(
"Pillar1Vol",Pillar1Box,Steel);
-
495 Pillar1Vol->SetLineColor(kGreen+3);
-
-
-
-
-
-
-
-
-
-
+
+
+
492 TGeoVolume *Pillar1Vol =
new TGeoVolume(
"Pillar1Vol",Pillar1Box,Steel);
+
493 Pillar1Vol->SetLineColor(kGreen+3);
+
+
+
+
+
+
+
+
+
+
+
504 TGeoVolumeAssembly *volMudetBox =
new TGeoVolumeAssembly(
"volTauNuMudet");
+
505 tTauNuDet->AddNode(volMudetBox, 1,
new TGeoTranslation(0,0,
fZcenter));
-
507 TGeoVolumeAssembly *volMudetBox =
new TGeoVolumeAssembly(
"volTauNuMudet");
-
508 tTauNuDet->AddNode(volMudetBox, 1,
new TGeoTranslation(0,0,
fZcenter));
-
-
510 TGeoBBox *IronLayer =
new TGeoBBox(
"Iron",
fXFe/2,
fYFe/2,
fZFe/2);
-
511 TGeoVolume *volIron =
new TGeoVolume(
"volIron",IronLayer,Iron);
-
512 volIron->SetLineColor(kGray);
+
507 TGeoBBox *IronLayer =
new TGeoBBox(
"MUDETIRON",
fXFe/2,
fYFe/2,
fZFe/2);
+
508 TGeoVolume *volIron =
new TGeoVolume(
"volIron",IronLayer,Iron);
+
509 volIron->SetLineColor(kGray);
+
+
+
-
-
515 TGeoVolume *volIron1 =
new TGeoVolume(
"volIron1",IronLayer1,Iron);
-
-
-
-
-
520 TGeoBBox *UpperCover =
new TGeoBBox(
"UpperCover",
fXCov/2,
fYCov/2,
fZCov/2);
-
521 TGeoVolume *volUpperCover =
new TGeoVolume(
"volUpperCover",UpperCover, Al);
-
522 volUpperCover->SetLineColor(kYellow-7);
-
-
-
-
-
-
528 TGeoVolume *volLateralCover =
new TGeoVolume(
"volLateralCover",LateralCover, Al);
-
529 volLateralCover->SetLineColor(kYellow-7);
-
-
-
-
-
-
-
-
-
538 TGeoRotation *Crossrot1 =
new TGeoRotation(
"Crossrot1", 0., 0.,0.); TGeoRotation *Crossrot2 =
new TGeoRotation(
"Crossrot2", 0., 0.,0.);
-
539 Crossrot1->RotateY(-90); Crossrot2->RotateY(90);
-
540 Crossrot1->SetName(
"NegativeRot"); Crossrot2->SetName(
"PositiveRot");
-
541 Crossrot1->RegisterYourself(); Crossrot2->RegisterYourself();
-
-
543 TGeoPara *ArmCross1 =
new TGeoPara (
"ArmCross1",
fWidthArm/2.,
fYCross/2,
fXCross/2., TMath::RadToDeg()*Inclination, 0., 0.);
-
544 ArmCross1->SetName(
"ARMCROSS1");
-
545 TGeoPara *ArmCross2 =
new TGeoPara (
"ArmCross2",
fWidthArm/2.,
fYCross/2,
fXCross/2., TMath::RadToDeg()*Inclination, 0., 0.);
-
546 ArmCross2->SetName(
"ARMCROSS2");
-
547 TGeoCompositeShape *MuCross =
new TGeoCompositeShape(
"MUFILTERCROSS",
"ARMCROSS1:NegativeRot+ARMCROSS2:PositiveRot");
-
548 TGeoVolume *volMuDetCross =
new TGeoVolume(
"volMuDetCross",MuCross, Al);
-
549 volMuDetCross->SetLineColor(kYellow-7);
-
-
-
-
-
554 IronLayer->SetName(
"MUDETIRON");
-
555 IronLayer1->SetName(
"MUDETIRON1");
-
-
557 Double_t
delta = 0.1;
-
-
559 Model->SetName(
"MUDETTRIANGLE");
-
-
561 TGeoRotation rot(
"rot",90,90,0);
-
562 TGeoRotation rot1(
"rot1",-90,90,0);
-
-
564 const TGeoTranslation transright(
"trans",-
fXFe/2.+
fCutLength/2,0,0);
-
565 TGeoCombiTrans* combright =
new TGeoCombiTrans(transright,rot);
-
566 combright->SetName(
"MuDetcombright");
-
567 combright->RegisterYourself();
-
-
569 const TGeoTranslation transleft(
"transleft",+
fXFe/2.-
fCutLength/2,0,0);
-
570 TGeoCombiTrans* combleft =
new TGeoCombiTrans(transleft,rot1);
-
571 combleft->SetName(
"MuDetcombleft");
-
572 combleft->RegisterYourself();
-
-
574 TGeoCompositeShape *mudetcut =
new TGeoCompositeShape(
"MUDETCUT",
"(MUDETIRON-MUDETTRIANGLE:MuDetcombright)-MUDETTRIANGLE:MuDetcombleft");
-
575 mudetcut->SetName(
"MUDETTRIANGCUT");
-
-
577 TGeoCompositeShape *mudetcut1 =
new TGeoCompositeShape(
"MUDETCUT1",
"(MUDETIRON1-MUDETTRIANGLE:MuDetcombright)-MUDETTRIANGLE:MuDetcombleft");
-
578 mudetcut1->SetName(
"MUDETTRIANGCUT1");
-
-
-
-
582 UpperSupport->SetName(
"MUDETUPSUPPORT");
-
-
584 LowerSupport->SetName(
"MUDETLOWSUPPORT");
-
-
586 LateralSupport->SetName(
"MUDETLATERALSUPPORT");
-
-
-
589 UpperSupport1->SetName(
"MUDETUPSUPPORT1");
-
-
591 LowerSupport1->SetName(
"MUDETLOWSUPPORT1");
-
-
593 LateralSupport1->SetName(
"MUDETLATERALSUPPORT1");
-
-
-
-
-
-
-
-
-
-
-
-
605 upright->SetName(
"MuDetupright");
-
606 upright->RegisterYourself();
-
607 upleft->SetName(
"MuDetupleft");
-
608 upleft->RegisterYourself();
-
609 lowright->SetName(
"MuDetlowright");
-
610 lowright->RegisterYourself();
-
611 lowleft->SetName(
"MuDetlowleft");
-
612 lowleft->RegisterYourself();
-
-
614 lateralupleft->SetName(
"MuDetlateralupleft");
-
615 lateralupleft->RegisterYourself();
-
616 lateralupright->SetName(
"MuDetlateralupright");
-
617 lateralupright->RegisterYourself();
-
618 laterallowleft->SetName(
"MuDetlaterallowleft");
-
619 laterallowleft->RegisterYourself();
-
620 laterallowright->SetName(
"MuDetlaterallowright");
-
621 laterallowright->RegisterYourself();
-
-
623 TString *supportaddition =
new TString(
"MUDETTRIANGCUT+MUDETUPSUPPORT:MuDetupright+MUDETUPSUPPORT:MuDetupleft+MUDETLOWSUPPORT:MuDetlowright+MUDETLOWSUPPORT:MuDetlowleft+MUDETLATERALSUPPORT:MuDetlateralupleft+MUDETLATERALSUPPORT:MuDetlateralupright+MUDETLATERALSUPPORT:MuDetlaterallowleft+MUDETLATERALSUPPORT:MuDetlaterallowright");
-
624 TString *supportaddition1 =
new TString(
"MUDETTRIANGCUT1+MUDETUPSUPPORT1:MuDetupright+MUDETUPSUPPORT1:MuDetupleft+MUDETLOWSUPPORT1:MuDetlowright+MUDETLOWSUPPORT1:MuDetlowleft+MUDETLOWSUPPORT1:MuDetlowleft+MUDETLATERALSUPPORT1:MuDetlateralupleft+MUDETLATERALSUPPORT1:MuDetlateralupright+MUDETLATERALSUPPORT1:MuDetlaterallowleft+MUDETLATERALSUPPORT1:MuDetlaterallowright");
-
625 TGeoCompositeShape * SupportedIronLayer =
new TGeoCompositeShape(
"SupportedIronLayer",supportaddition->Data());
-
626 TGeoCompositeShape * SupportedIronLayer1 =
new TGeoCompositeShape(
"SupportedIronLayer1",supportaddition1->Data());
-
-
628 TGeoVolume *MudetIronLayer =
new TGeoVolume(
"MudetIronLayer", SupportedIronLayer, Iron);
-
629 MudetIronLayer->SetLineColor(kRed+2);
-
630 TGeoVolume *MudetIronLayer1 =
new TGeoVolume(
"MudetIronLayer1", SupportedIronLayer1, Iron);
-
631 MudetIronLayer1->SetLineColor(kRed+2);
-
-
633 for(Int_t
i = 0;
i <
fNFe;
i++)
-
-
-
636 volMudetBox->AddNode(MudetIronLayer,
nr + 100 +
i,
new TGeoTranslation(0, 0, dz));
-
-
-
-
-
641 volMudetBox->AddNode(MudetIronLayer1,
nr + 100 +
fNFe +
i,
new TGeoTranslation(0, 0,dz));
-
-
-
-
-
646 RpcContainer_0->SetName(
"RPCCOINTAINER_0");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
671 RpcOuter->SetName(
"RPCOUTER");
-
-
673 Indentation->SetName(
"INDENTATION");
-
674 const TGeoTranslation leftindent(
"leftindent", (
fXRpc_outer-15.*
cm)/2, 0, 0);
-
675 TGeoCombiTrans* left_ind =
new TGeoCombiTrans(leftindent, rot);
-
676 left_ind->SetName(
"LEFTINDENT");
-
677 left_ind->RegisterYourself();
-
678 const TGeoTranslation rightindent(
"rightindent", (-
fXRpc_outer+15.*
cm)/2, 0, 0);
-
679 TGeoCombiTrans* right_ind =
new TGeoCombiTrans(rightindent, rot1);
-
680 right_ind->SetName(
"RIGHTINDENT");
-
681 right_ind->RegisterYourself();
-
-
683 RpcInner->SetName(
"RPCINNER");
-
684 TGeoTranslation *exclusion =
new TGeoTranslation(0, 0, (-
fZRpc_inner/2) -0.6*
cm);
-
685 exclusion->SetName(
"EXCLUSION");
-
686 exclusion->RegisterYourself();
-
687 TGeoCompositeShape *RpcShell =
new TGeoCompositeShape(
"RpcShell",
"RPCOUTER-INDENTATION:RIGHTINDENT-INDENTATION:LEFTINDENT-RPCINNER:EXCLUSION");
-
688 TGeoVolume *volRpcShell =
new TGeoVolume(
"volRpcShell", RpcShell, Al);
-
689 volRpcShell->SetLineColor(kGray);
-
-
-
692 GasShape->SetName(
"RPCGAS");
-
693 TGeoBBox *GapSpacing =
new TGeoBBox(
"GapSpacing",
fXRpcGap/2, 6./2*
cm, (
fZGas+0.01*
cm)/2 );
-
694 GapSpacing->SetName(
"GAPSPACE");
-
695 TGeoTranslation *mdown =
new TGeoTranslation(
"mdown", 0., -(
fYRpcGap+6*
cm)/2, 0.);
-
696 mdown->SetName(
"MDOWN");
-
697 mdown->RegisterYourself();
-
698 TGeoTranslation *mup =
new TGeoTranslation(
"mup",0., (
fYRpcGap+6*
cm)/2, 0.);
-
-
700 mup->RegisterYourself();
-
701 TGeoCompositeShape *RpcGas =
new TGeoCompositeShape(
"RpcGas",
"RPCGAS-GAPSPACE:MUP-GAPSPACE:MDOWN");
-
702 TGeoVolume *volRpc =
new TGeoVolume(
"volRpc",RpcGas, RPCmat);
-
703 volRpc->SetLineColor(kCyan);
-
-
-
-
707 Indentation_0->SetName(
"INDENTATION_0");
-
708 TGeoCompositeShape *RpcContainer =
new TGeoCompositeShape(
"RpcContainer",
"RPCCOINTAINER_0-INDENTATION_0:RIGHTINDENT-INDENTATION_0:LEFTINDENT");
-
709 TGeoVolume *volRpcContainer =
new TGeoVolume(
"volRpcContainer",RpcContainer,air);
-
-
-
-
713 GapShape->SetName(
"RPCGAP");
-
-
715 GapSpacing1->SetName(
"GAPSPACE1");
-
716 TGeoCompositeShape *RpcGap =
new TGeoCompositeShape(
"RpcGap",
"RPCGAP-GAPSPACE1:MUP-GAPSPACE1:MDOWN");
-
717 TGeoVolume *volRpcGap =
new TGeoVolume(
"volRpcGap",RpcGap, bakelite);
-
718 volRpcGap->SetLineColor(kOrange);
-
-
-
721 TGeoVolume *volStrip=
new TGeoVolume(
"volStrip", Strip, Cu);
-
722 volStrip->SetLineColor(kOrange+5);
-
723 TGeoRotation rot2(
"rot2", 0., 0.,0.);
-
-
-
726 TGeoCombiTrans *comb_1 =
new TGeoCombiTrans(trans_rot, rot2);
-
-
-
729 volRpcContainer->AddNode(volRpcShell,2, comb_1);
-
-
731 volRpcContainer->AddNode(volStrip, 2,
new TGeoTranslation(0., 0., -
fZGas/2-
fZRpcGap-
fZStrip/2));
-
732 volRpcContainer->AddNode(volRpcGap, 1,
new TGeoTranslation(0., 0., (
fZGas+
fZRpcGap)/2));
-
733 volRpcContainer->AddNode(volRpcGap, 2,
new TGeoTranslation(0., 0., -(
fZGas+
fZRpcGap)/2));
-
734 volRpcContainer->AddNode(volRpc, 1,
new TGeoTranslation(0., 0., 0.));
-
-
736 AddSensitiveVolume(volRpc);
-
-
-
-
-
-
-
743 if(
i%2)volMudetBox->AddNode(volRpcContainer,
nr +
i,
new TGeoTranslation(0, -
dy, dz));
-
744 else{volMudetBox->AddNode(volRpcContainer,
nr +
i,
new TGeoTranslation(0,
dy, dz));}
-
-
-
-
748 TGeoVolume *Pillar1Vol =
new TGeoVolume(
"Pillar1Vol",Pillar1Box,Steel);
-
749 Pillar1Vol->SetLineColor(kGreen+3);
+
+
+
516 TGeoBBox *UpperCover =
new TGeoBBox(
"UpperCover",
fXCov/2,
fYCov/2,
fZCov/2);
+
517 TGeoVolume *volUpperCover =
new TGeoVolume(
"volUpperCover",UpperCover, Al);
+
518 volUpperCover->SetLineColor(kYellow-7);
+
+
+
+
+
+
524 TGeoVolume *volLateralCover =
new TGeoVolume(
"volLateralCover",LateralCover, Al);
+
525 volLateralCover->SetLineColor(kYellow-7);
+
+
+
+
+
+
+
+
+
534 TGeoRotation *Crossrot1 =
new TGeoRotation(
"Crossrot1", 0., 0.,0.); TGeoRotation *Crossrot2 =
new TGeoRotation(
"Crossrot2", 0., 0.,0.);
+
535 Crossrot1->RotateY(-90); Crossrot2->RotateY(90);
+
536 Crossrot1->SetName(
"NegativeRot"); Crossrot2->SetName(
"PositiveRot");
+
537 Crossrot1->RegisterYourself(); Crossrot2->RegisterYourself();
+
+
539 TGeoPara *ArmCross1 =
new TGeoPara (
"ArmCross1",
fWidthArm/2.,
fYCross/2,
fXCross/2., TMath::RadToDeg()*Inclination, 0., 0.);
+
540 ArmCross1->SetName(
"ARMCROSS1");
+
541 TGeoPara *ArmCross2 =
new TGeoPara (
"ArmCross2",
fWidthArm/2.,
fYCross/2,
fXCross/2., TMath::RadToDeg()*Inclination, 0., 0.);
+
542 ArmCross2->SetName(
"ARMCROSS2");
+
543 TGeoCompositeShape *MuCross =
new TGeoCompositeShape(
"MUFILTERCROSS",
"ARMCROSS1:NegativeRot+ARMCROSS2:PositiveRot");
+
544 TGeoVolume *volMuDetCross =
new TGeoVolume(
"volMuDetCross",MuCross, Al);
+
545 volMuDetCross->SetLineColor(kYellow-7);
+
+
+
+
+
+
551 Double_t
delta = 0.1;
+
+
553 Model->SetName(
"MUDETTRIANGLE");
+
+
555 TGeoRotation rot(
"rot",90,90,0);
+
556 TGeoRotation rot1(
"rot1",-90,90,0);
+
+
558 const TGeoTranslation transright(
"trans",-
fXFe/2.+
fCutLength/2,0,0);
+
559 TGeoCombiTrans* combright =
new TGeoCombiTrans(transright,rot);
+
560 combright->SetName(
"MuDetcombright");
+
561 combright->RegisterYourself();
+
+
563 const TGeoTranslation transleft(
"transleft",+
fXFe/2.-
fCutLength/2,0,0);
+
564 TGeoCombiTrans* combleft =
new TGeoCombiTrans(transleft,rot1);
+
565 combleft->SetName(
"MuDetcombleft");
+
566 combleft->RegisterYourself();
+
+
568 TGeoCompositeShape *mudetcut =
new TGeoCompositeShape(
"MUDETCUT",
"(MUDETIRON-MUDETTRIANGLE:MuDetcombright)-MUDETTRIANGLE:MuDetcombleft");
+
569 mudetcut->SetName(
"MUDETTRIANGCUT");
+
+
571 TGeoCompositeShape *mudetcut1 =
new TGeoCompositeShape(
"MUDETCUT1",
"(MUDETIRON1-MUDETTRIANGLE:MuDetcombright)-MUDETTRIANGLE:MuDetcombleft");
+
572 mudetcut1->SetName(
"MUDETTRIANGCUT1");
+
+
+
+
576 UpperSupport->SetName(
"MUDETUPSUPPORT");
+
+
578 LowerSupport->SetName(
"MUDETLOWSUPPORT");
+
+
580 LateralSupport->SetName(
"MUDETLATERALSUPPORT");
+
+
+
583 UpperSupport1->SetName(
"MUDETUPSUPPORT1");
+
+
585 LowerSupport1->SetName(
"MUDETLOWSUPPORT1");
+
+
587 LateralSupport1->SetName(
"MUDETLATERALSUPPORT1");
+
+
+
+
+
+
+
+
+
+
+
+
599 upright->SetName(
"MuDetupright");
+
600 upright->RegisterYourself();
+
601 upleft->SetName(
"MuDetupleft");
+
602 upleft->RegisterYourself();
+
603 lowright->SetName(
"MuDetlowright");
+
604 lowright->RegisterYourself();
+
605 lowleft->SetName(
"MuDetlowleft");
+
606 lowleft->RegisterYourself();
+
+
608 lateralupleft->SetName(
"MuDetlateralupleft");
+
609 lateralupleft->RegisterYourself();
+
610 lateralupright->SetName(
"MuDetlateralupright");
+
611 lateralupright->RegisterYourself();
+
612 laterallowleft->SetName(
"MuDetlaterallowleft");
+
613 laterallowleft->RegisterYourself();
+
614 laterallowright->SetName(
"MuDetlaterallowright");
+
615 laterallowright->RegisterYourself();
+
+
617 TString *supportaddition =
new TString(
"MUDETTRIANGCUT+MUDETUPSUPPORT:MuDetupright+MUDETUPSUPPORT:MuDetupleft+MUDETLOWSUPPORT:MuDetlowright+MUDETLOWSUPPORT:MuDetlowleft+MUDETLATERALSUPPORT:MuDetlateralupleft+MUDETLATERALSUPPORT:MuDetlateralupright+MUDETLATERALSUPPORT:MuDetlaterallowleft+MUDETLATERALSUPPORT:MuDetlaterallowright");
+
618 TString *supportaddition1 =
new TString(
"MUDETTRIANGCUT1+MUDETUPSUPPORT1:MuDetupright+MUDETUPSUPPORT1:MuDetupleft+MUDETLOWSUPPORT1:MuDetlowright+MUDETLOWSUPPORT1:MuDetlowleft+MUDETLOWSUPPORT1:MuDetlowleft+MUDETLATERALSUPPORT1:MuDetlateralupleft+MUDETLATERALSUPPORT1:MuDetlateralupright+MUDETLATERALSUPPORT1:MuDetlaterallowleft+MUDETLATERALSUPPORT1:MuDetlaterallowright");
+
619 TGeoCompositeShape * SupportedIronLayer =
new TGeoCompositeShape(
"SupportedIronLayer",supportaddition->Data());
+
620 TGeoCompositeShape * SupportedIronLayer1 =
new TGeoCompositeShape(
"SupportedIronLayer1",supportaddition1->Data());
+
+
622 TGeoVolume *MudetIronLayer =
new TGeoVolume(
"MudetIronLayer", SupportedIronLayer, Iron);
+
623 MudetIronLayer->SetLineColor(kRed+2);
+
624 TGeoVolume *MudetIronLayer1 =
new TGeoVolume(
"MudetIronLayer1", SupportedIronLayer1, Iron);
+
625 MudetIronLayer1->SetLineColor(kRed+2);
+
+
627 for(Int_t
i = 0;
i <
fNFe;
i++)
+
+
+
630 volMudetBox->AddNode(MudetIronLayer,
nr + 100 +
i,
new TGeoTranslation(0, 0, dz));
+
+
+
+
+
635 volMudetBox->AddNode(MudetIronLayer1,
nr + 100 +
fNFe +
i,
new TGeoTranslation(0, 0,dz));
+
+
+
+
+
640 RpcContainer_0->SetName(
"RPCCOINTAINER_0");
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
665 RpcOuter->SetName(
"RPCOUTER");
+
+
667 Indentation->SetName(
"INDENTATION");
+
668 const TGeoTranslation leftindent(
"leftindent", (
fXRpc_outer-15.*
cm)/2, 0, 0);
+
669 TGeoCombiTrans* left_ind =
new TGeoCombiTrans(leftindent, rot);
+
670 left_ind->SetName(
"LEFTINDENT");
+
671 left_ind->RegisterYourself();
+
672 const TGeoTranslation rightindent(
"rightindent", (-
fXRpc_outer+15.*
cm)/2, 0, 0);
+
673 TGeoCombiTrans* right_ind =
new TGeoCombiTrans(rightindent, rot1);
+
674 right_ind->SetName(
"RIGHTINDENT");
+
675 right_ind->RegisterYourself();
+
+
677 RpcInner->SetName(
"RPCINNER");
+
678 TGeoTranslation *exclusion =
new TGeoTranslation(0, 0, (-
fZRpc_inner/2) -0.6*
cm);
+
679 exclusion->SetName(
"EXCLUSION");
+
680 exclusion->RegisterYourself();
+
681 TGeoCompositeShape *RpcShell =
new TGeoCompositeShape(
"RpcShell",
"RPCOUTER-INDENTATION:RIGHTINDENT-INDENTATION:LEFTINDENT-RPCINNER:EXCLUSION");
+
682 TGeoVolume *volRpcShell =
new TGeoVolume(
"volRpcShell", RpcShell, Al);
+
683 volRpcShell->SetLineColor(kGray);
+
+
+
686 GasShape->SetName(
"RPCGAS");
+
687 TGeoBBox *GapSpacing =
new TGeoBBox(
"GapSpacing",
fXRpcGap/2, 6./2*
cm, (
fZGas+0.01*
cm)/2 );
+
688 GapSpacing->SetName(
"GAPSPACE");
+
689 TGeoTranslation *mdown =
new TGeoTranslation(
"mdown", 0., -(
fYRpcGap+6*
cm)/2, 0.);
+
690 mdown->SetName(
"MDOWN");
+
691 mdown->RegisterYourself();
+
692 TGeoTranslation *mup =
new TGeoTranslation(
"mup",0., (
fYRpcGap+6*
cm)/2, 0.);
+
+
694 mup->RegisterYourself();
+
695 TGeoCompositeShape *RpcGas =
new TGeoCompositeShape(
"RpcGas",
"RPCGAS-GAPSPACE:MUP-GAPSPACE:MDOWN");
+
696 TGeoVolume *volRpc =
new TGeoVolume(
"volRpc",RpcGas, RPCmat);
+
697 volRpc->SetLineColor(kCyan);
+
+
+
+
701 Indentation_0->SetName(
"INDENTATION_0");
+
702 TGeoCompositeShape *RpcContainer =
new TGeoCompositeShape(
"RpcContainer",
"RPCCOINTAINER_0-INDENTATION_0:RIGHTINDENT-INDENTATION_0:LEFTINDENT");
+
703 TGeoVolume *volRpcContainer =
new TGeoVolume(
"volRpcContainer",RpcContainer,air);
+
+
+
+
707 GapShape->SetName(
"RPCGAP");
+
+
709 GapSpacing1->SetName(
"GAPSPACE1");
+
710 TGeoCompositeShape *RpcGap =
new TGeoCompositeShape(
"RpcGap",
"RPCGAP-GAPSPACE1:MUP-GAPSPACE1:MDOWN");
+
711 TGeoVolume *volRpcGap =
new TGeoVolume(
"volRpcGap",RpcGap, bakelite);
+
712 volRpcGap->SetLineColor(kOrange);
+
+
+
715 TGeoVolume *volStrip=
new TGeoVolume(
"volStrip", Strip, Cu);
+
716 volStrip->SetLineColor(kOrange+5);
+
717 TGeoRotation rot2(
"rot2", 0., 0.,0.);
+
+
+
720 TGeoCombiTrans *comb_1 =
new TGeoCombiTrans(trans_rot, rot2);
+
+
+
723 volRpcContainer->AddNode(volRpcShell,2, comb_1);
+
+
725 volRpcContainer->AddNode(volStrip, 2,
new TGeoTranslation(0., 0., -
fZGas/2-
fZRpcGap-
fZStrip/2));
+
726 volRpcContainer->AddNode(volRpcGap, 1,
new TGeoTranslation(0., 0., (
fZGas+
fZRpcGap)/2));
+
727 volRpcContainer->AddNode(volRpcGap, 2,
new TGeoTranslation(0., 0., -(
fZGas+
fZRpcGap)/2));
+
728 volRpcContainer->AddNode(volRpc, 1,
new TGeoTranslation(0., 0., 0.));
+
+
730 AddSensitiveVolume(volRpc);
+
+
+
+
+
+
+
737 if(
i%2)volMudetBox->AddNode(volRpcContainer,
nr +
i,
new TGeoTranslation(0, -
dy, dz));
+
738 else{volMudetBox->AddNode(volRpcContainer,
nr +
i,
new TGeoTranslation(0,
dy, dz));}
+
+
+
+
742 TGeoVolume *Pillar1Vol =
new TGeoVolume(
"Pillar1Vol",Pillar1Box,Steel);
+
743 Pillar1Vol->SetLineColor(kGreen+3);
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
756 TGeoBBox *MuFilter =
new TGeoBBox(
"MuFilter",
fXtot/2.,
fYtot/2.,
fZtot/2.);
+
757 TGeoVolume *volMuFilter =
new TGeoVolume(
"volMuFilter",MuFilter,air);
+
758 volMuFilter->SetLineColor(kGray);
+
+
760 TGeoUniformMagField *magcheckfield =
new TGeoUniformMagField(
fField,0.,0.);
-
762 TGeoBBox *MuFilter =
new TGeoBBox(
"MuFilter",
fXtot/2.,
fYtot/2.,
fZtot/2.);
-
763 TGeoVolume *volMuFilter =
new TGeoVolume(
"volMuFilter",MuFilter,air);
-
764 volMuFilter->SetLineColor(kGray);
-
-
766 TGeoUniformMagField *magcheckfield =
new TGeoUniformMagField(
fField,0.,0.);
-
-
768 tTauNuDet->AddNode(volMuFilter,1,
new TGeoTranslation(0,0,
fZcenter));
+
762 tTauNuDet->AddNode(volMuFilter,1,
new TGeoTranslation(0,0,
fZcenter));
+
+
+
+
766 Double_t fOutMagX =
fXtot;
+
767 Double_t fOutMagY =
fYtot;
+
768 Double_t fMagZ =
fZtot-0.5*2;
-
-
-
772 Double_t fOutMagX =
fXtot;
-
773 Double_t fOutMagY =
fYtot;
-
774 Double_t fMagZ =
fZtot-0.5*2;
-
-
776 Double_t fInMagX =
fXRpc;
-
777 Double_t fInMagY =
fYRpc;
+
770 Double_t fInMagX =
fXRpc;
+
771 Double_t fInMagY =
fYRpc;
+
+
+
774 TGeoVolume *volRPC =
new TGeoVolume(
"volRPC",RPC,RPCmat);
+
775 volRPC->SetLineColor(kRed);
+
776 AddSensitiveVolume(volRPC);
+
-
-
780 TGeoVolume *volRPC =
new TGeoVolume(
"volRPC",RPC,RPCmat);
-
781 volRPC->SetLineColor(kRed);
-
782 AddSensitiveVolume(volRPC);
-
+
+
+
781 [[maybe_unused]]
auto *CoilContainer =
new TGeoBBox(
"CoilContainer", fOutMagX/2., fOutMagY/2., fMagZ/2.);
+
782 TGeoBBox *MagRegion =
new TGeoBBox(
"MagRegion", fInMagX/2., fInMagY/2., fMagZ/2.+0.5);
+
783 TGeoBBox *Coil =
new TGeoBBox(
"Coil",
fCoilW/2.,
fCoilH/2., fMagZ/2.+0.5);
-
-
-
787 TGeoBBox *CoilContainer =
new TGeoBBox(
"CoilContainer", fOutMagX/2., fOutMagY/2., fMagZ/2.);
-
788 TGeoBBox *MagRegion =
new TGeoBBox(
"MagRegion", fInMagX/2., fInMagY/2., fMagZ/2.+0.5);
-
789 TGeoBBox *Coil =
new TGeoBBox(
"Coil",
fCoilW/2.,
fCoilH/2., fMagZ/2.+0.5);
+
+
786 TGeoTranslation *CoilUpPos =
new TGeoTranslation(
"CoilUpPos", 0, (fInMagY+
fCoilH)/2.-0.001, 0);
+
787 TGeoTranslation *CoilDownPos =
new TGeoTranslation(
"CoilDownPos", 0, -(fInMagY+
fCoilH)/2.+0.001, 0);
+
788 CoilUpPos->RegisterYourself();
+
789 CoilDownPos->RegisterYourself();
-
-
792 TGeoTranslation *CoilUpPos =
new TGeoTranslation(
"CoilUpPos", 0, (fInMagY+
fCoilH)/2.-0.001, 0);
-
793 TGeoTranslation *CoilDownPos =
new TGeoTranslation(
"CoilDownPos", 0, -(fInMagY+
fCoilH)/2.+0.001, 0);
-
794 CoilUpPos->RegisterYourself();
-
795 CoilDownPos->RegisterYourself();
-
-
-
798 TGeoCompositeShape *FeYoke =
new TGeoCompositeShape(
"FeYoke",
"CoilContainer-MagRegion-(Coil:CoilUpPos)-(Coil:CoilDownPos)");
-
-
-
801 TGeoVolume *volFeYoke =
new TGeoVolume(
"volFeYoke", FeYoke, Iron);
-
802 volFeYoke->SetLineColor(kGray);
-
803 TGeoVolume *volCoil =
new TGeoVolume(
"volCoil", Coil, Cu);
-
804 volCoil->SetLineColor(kOrange+1);
-
805 TGeoVolume *volMagRegion =
new TGeoVolume(
"volMagRegion", MagRegion, air);
-
806 volMagRegion->SetField(magcheckfield);
+
+
792 TGeoCompositeShape *FeYoke =
new TGeoCompositeShape(
"FeYoke",
"CoilContainer-MagRegion-(Coil:CoilUpPos)-(Coil:CoilDownPos)");
+
+
+
795 TGeoVolume *volFeYoke =
new TGeoVolume(
"volFeYoke", FeYoke, Iron);
+
796 volFeYoke->SetLineColor(kGray);
+
797 TGeoVolume *volCoil =
new TGeoVolume(
"volCoil", Coil, Cu);
+
798 volCoil->SetLineColor(kOrange+1);
+
799 TGeoVolume *volMagRegion =
new TGeoVolume(
"volMagRegion", MagRegion, air);
+
800 volMagRegion->SetField(magcheckfield);
+
+
+
803 volMuFilter->AddNode(volFeYoke, 0);
+
804 volMuFilter->AddNode(volCoil, 0,
new TGeoTranslation(0, (fInMagY+
fCoilH)/2.-0.001, 0));
+
805 volMuFilter->AddNode(volCoil, 1,
new TGeoTranslation(0, -(fInMagY+
fCoilH)/2.+0.001, 0));
+
806 volMuFilter->AddNode(volMagRegion, 0, 0);
-
-
809 volMuFilter->AddNode(volFeYoke, 0);
-
810 volMuFilter->AddNode(volCoil, 0,
new TGeoTranslation(0, (fInMagY+
fCoilH)/2.-0.001, 0));
-
811 volMuFilter->AddNode(volCoil, 1,
new TGeoTranslation(0, -(fInMagY+
fCoilH)/2.+0.001, 0));
-
812 volMuFilter->AddNode(volMagRegion, 0, 0);
-
-
814 volMagRegion->SetField(magcheckfield);
-
-
816 volMagRegion->AddNode(volRPC,1,
new TGeoTranslation(0,0,-
fZtot/2. +
fZRpc/2.));
-
-
-
-
-
821 volMagRegion->AddNode(volRPC,4,
new TGeoTranslation(0,0,-
fGapMiddle/2. -
fZRpc/2.));
-
822 volMagRegion->AddNode(volRPC,5,
new TGeoTranslation(0,0,+
fGapMiddle/2. +
fZRpc/2.));
-
-
-
-
-
827 volMagRegion->AddNode(volRPC,8,
new TGeoTranslation(0,0,+
fZtot/2. -
fZRpc/2.));
-
-
-
-
+
808 volMagRegion->SetField(magcheckfield);
+
+
810 volMagRegion->AddNode(volRPC,1,
new TGeoTranslation(0,0,-
fZtot/2. +
fZRpc/2.));
+
+
+
+
+
815 volMagRegion->AddNode(volRPC,4,
new TGeoTranslation(0,0,-
fGapMiddle/2. -
fZRpc/2.));
+
816 volMagRegion->AddNode(volRPC,5,
new TGeoTranslation(0,0,+
fGapMiddle/2. +
fZRpc/2.));
+
+
+
+
+
821 volMagRegion->AddNode(volRPC,8,
new TGeoTranslation(0,0,+
fZtot/2. -
fZRpc/2.));
+
+
+
+
@@ -1413,11 +1407,11 @@
@@ -1444,10 +1438,10 @@