273{
274
275 TGeoVolume *
top=gGeoManager->GetTopVolume();
276
278 TGeoMedium *air =gGeoManager->GetMedium("air");
279
281 TGeoMedium *Fe =gGeoManager->GetMedium("iron");
282
284 TGeoMedium *Al = gGeoManager->GetMedium("CoilAluminium");
285
287 TGeoMedium *Cu = gGeoManager->GetMedium("CoilCopper");
288
290 TGeoMedium *PBase =gGeoManager->GetMedium("PlasticBase");
291
293 TGeoMedium *NEmu =gGeoManager->GetMedium("NuclearEmulsion");
294
295 TGeoMaterial *NEmuMat = NEmu->GetMaterial();
296 TGeoMaterial *PBaseMat = PBase->GetMaterial();
297
300
301 if (
fsingleemulsionfilm) cout<<
"TARGET PRINTOUT: Single volume for emulsion film chosen: average density: "<<rho_film<<
" fraction in mass of emulsion "<<frac_emu<<endl;
302
303 TGeoMixture * emufilmmixture = new TGeoMixture("EmulsionFilmMixture", 2.00);
304
305 emufilmmixture->AddElement(NEmuMat,frac_emu);
306 emufilmmixture->AddElement(PBaseMat,1. - frac_emu);
307
308 TGeoMedium *Emufilm = new TGeoMedium("EmulsionFilm",100,emufilmmixture);
309
311 TGeoMedium *lead = gGeoManager->GetMedium("lead");
312
314 TGeoMedium *rohacell = gGeoManager->GetMedium("rohacell");
315
317 TGeoMedium *Conc =gGeoManager->GetMedium("Concrete");
318
320 TGeoMedium *Steel =gGeoManager->GetMedium("steel");
321
323 Int_t NRohacellGap = 2;
324
325
327 TGeoVolume *volTarget = new TGeoVolume("volTarget",TargetBox, air);
328
329
331 {
332 TGeoVolume *MagnetVol;
333
334
335 TGeoUniformMagField *magField2 = new TGeoUniformMagField();
336
338 {
339 magField2->SetFieldValue(
fField,0,0.);
340 MagnetVol=gGeoManager->GetVolume("Davide");
341 }
343 {
344 MagnetVol=gGeoManager->GetVolume("Goliath");
345 magField2->SetFieldValue(0.,
fField,0.);
346 }
348 {
349 magField2->SetFieldValue(
fField,0,0.);
350 MagnetVol=gGeoManager->GetVolume("NudetMagnet");
351 }
352
353
354 if (
fDesign != 3) volTarget->SetField(magField2);
355 volTarget->SetVisibility(1);
356 volTarget->SetVisDaughters(1);
362 TGeoVolume *volMagRegion=gGeoManager->GetVolume("volMagRegion");
363 Double_t ZDimMagnetizedRegion = ((TGeoBBox*) volMagRegion->GetShape())->GetDZ() * 2.;
366 }
367 }
368 }
369
370
371
372
373
374
375
376
377
378
379
381 TGeoVolume *volCell = new TGeoVolume("Cell",Cell,air);
382
383
385 TGeoVolume *volBrick = new TGeoVolume("Brick",Brick,air);
386 volBrick->SetLineColor(kCyan);
387 volBrick->SetTransparency(1);
388
390 TGeoVolume *volLead = new TGeoVolume("Lead",Lead,lead);
391 volLead->SetTransparency(1);
392 volLead->SetLineColor(kGray);
393
394
395 for(Int_t n=0;
n<NPlates;
n++)
396 {
398 }
401 TGeoVolume *volEmulsionFilm = new TGeoVolume("Emulsion",EmulsionFilm,Emufilm);
402 volEmulsionFilm->SetLineColor(kBlue);
403
405 {
406 AddSensitiveVolume(volEmulsionFilm);
407 }
408
409 for(Int_t n=0;
n<NPlates+1;
n++)
410 {
412 }
413 }
414 else {
416 TGeoVolume *volEmulsionFilm = new TGeoVolume("Emulsion",EmulsionFilm,NEmu);
417 TGeoVolume *volEmulsionFilm2 = new TGeoVolume("Emulsion2",EmulsionFilm,NEmu);
418 volEmulsionFilm->SetLineColor(kBlue);
419 volEmulsionFilm2->SetLineColor(kBlue);
420
422 {
423 AddSensitiveVolume(volEmulsionFilm);
424 AddSensitiveVolume(volEmulsionFilm2);
425 }
427 TGeoVolume *volPlBase = new TGeoVolume("PlasticBase",PlBase,PBase);
428 volPlBase->SetLineColor(kYellow-4);
429 for(Int_t n=0;
n<NPlates+1;
n++)
430 {
434 }
435 }
436
437 volBrick->SetVisibility(kTRUE);
438
439
441 {
442
443
445 TGeoVolume *volCES = new TGeoVolume("CES", CES, air);
446 volCES->SetTransparency(5);
447 volCES->SetLineColor(kYellow-10);
448 volCES->SetVisibility(kTRUE);
449
451 TGeoVolume *volRohGap = new TGeoVolume("RohacellGap",RohGap,air);
452 volRohGap->SetTransparency(1);
453 volRohGap->SetLineColor(kYellow);
454
455 for(Int_t n=0;
n<NRohacellGap;
n++)
456 {
458 }
461 TGeoVolume *volEmulsionFilmCES = new TGeoVolume("EmulsionCES",EmulsionFilmCES,Emufilm);
462 volEmulsionFilmCES->SetLineColor(kBlue);
464 {
465 AddSensitiveVolume(volEmulsionFilmCES);
466 }
467
468 for(Int_t n=0;
n<NRohacellGap+1;
n++)
469 {
471 }
472
473 }
474 else{
475
477 TGeoVolume *volEmulsionFilmCES = new TGeoVolume("EmulsionCES",EmulsionFilmCES,NEmu);
478 TGeoVolume *volEmulsionFilm2CES = new TGeoVolume("Emulsion2CES",EmulsionFilmCES,NEmu);
479 volEmulsionFilmCES->SetLineColor(kBlue);
480 volEmulsionFilm2CES->SetLineColor(kBlue);
482 {
483 AddSensitiveVolume(volEmulsionFilmCES);
484 AddSensitiveVolume(volEmulsionFilm2CES);
485 }
486
488 TGeoVolume *volPlBaseCES = new TGeoVolume("PlasticBaseCES",PlBaseCES,PBase);
489 volPlBaseCES->SetLineColor(kYellow);
490 for(Int_t n=0;
n<NRohacellGap+1;
n++)
491 {
495
496
497 }
498
499 }
500
501 volCell->AddNode(volBrick,1,
new TGeoTranslation(0,0,-
CellWidth/2 +
BrickZ/2));
503
505 TGeoVolume *volRow = new TGeoVolume("Row",Row,air);
506 volRow->SetLineColor(20);
507
510 {
511 volRow->AddNode(volCell,j,
new TGeoTranslation(d_cl_x+
BrickX/2, 0, 0));
513 }
514
516 TGeoVolume *volWall = new TGeoVolume("Wall",Wall,air);
517
520 {
521 volWall->AddNode(volRow,k,
new TGeoTranslation(0, d_cl_y +
BrickY/2, 0));
522
523
525 }
526
527
528
531
533 {
534 volTarget->AddNode(volWall,l,
new TGeoTranslation(0, 0, d_cl_z +
CellWidth/2));
535
536
538 }
539 }
540
541
542
543
545 {
547
548 TGeoVolume *tTauNuDet = gGeoManager->GetVolume("tTauNuDet");
549 cout<<
"Tau Nu Detector fMagnetConfig: "<<
fDesign<<endl;
550
551 tTauNuDet->AddNode(volTarget,1,
new TGeoTranslation(0,0,
fCenterZ));
552
554 TGeoVolume *volRow = new TGeoVolume("Row",Row,air);
555 volRow->SetLineColor(20);
556
559 {
560 volRow->AddNode(volBrick,j,
new TGeoTranslation(d_cl_x+
BrickX/2, 0, 0));
562 }
564 TGeoVolume *volWall = new TGeoVolume("Wall",Wall,air);
565
568 {
569 volWall->AddNode(volRow,k,
new TGeoTranslation(0, d_cl_y +
BrickY/2, 0));
570
571
573 }
574
575
578
580 {
581 volTarget->AddNode(volWall,l,
new TGeoTranslation(0, 0, d_cl_z +
BrickZ/2));
582
583
585 }
586
588 TGeoVolume *volBase = new TGeoVolume("volBase",Base,Conc);
589 volBase->SetLineColor(kYellow-3);
591
593 {
595 TGeoVolume *PillarVol = new TGeoVolume("PillarVol",PillarBox,Steel);
596 PillarVol->SetLineColor(kGreen+3);
601 }
602 }
603}
Double_t PlasticBaseThickness
Int_t InitMedium(const char *name)
Double_t EmulsionThickness
Bool_t fsingleemulsionfilm