226 Material(1,
"Si $", aSi, zSi, dSi, x0Si, 18.5);
233 Material(0,
"W $", aW, zW, dW, x0W, 17.1);
236 Material(3,
"Cu $", 63.54, 29., 8.96, 1.43, 15.);
239 Material(9,
"Al$", 26.98, 13.0, 2.7, 8.9, 37.2);
242 Material(10,
"Pb $", 207.19, 82., 11.35, .56, 18.5);
246 float aP[2] = {12.011, 1.00794};
247 float zP[2] = {6.0, 1.0};
248 float wP[2] = {1.0, 1.0};
250 Mixture(11,
"Polystyrene$", aP, zP, dP, -2, wP);
254 float aG10[4] = {1., 12.011, 15.9994, 28.086};
255 float zG10[4] = {1., 6., 8., 14.};
257 float wG10[4] = {0.15201, 0.10641, 0.49444, 0.24714};
258 Mixture(2,
"G10 $", aG10, zG10, 1.7, 4, wG10);
261 float aAlloy[3] = {183.84, 58.6934, 63.54};
262 float zAlloy[3] = {74.0, 28, 29};
263 float wAlloy[3] = {0.94, 0.04, 0.02};
264 float dAlloy = wAlloy[0] * 19.3 + wAlloy[1] * 8.908 + wAlloy[2] * 8.96;
265 Mixture(5,
"Alloy $", aAlloy, zAlloy, dAlloy, 3, wAlloy);
268 float aSteel[4] = {55.847, 51.9961, 58.6934, 28.0855};
269 float zSteel[4] = {26., 24., 28., 14.};
270 float wSteel[4] = {.715, .18, .1, .005};
272 Mixture(4,
"STAINLESS STEEL$", aSteel, zSteel, dSteel, 4, wSteel);
275 float aAir[4] = {12.0107, 14.0067, 15.9994, 39.948};
276 float zAir[4] = {6., 7., 8., 18.};
277 float wAir[4] = {0.000124, 0.755268, 0.231781, 0.012827};
278 float dAir1 = 1.20479E-10;
279 float dAir = 1.20479E-3;
280 Mixture(98,
"Vacum$", aAir, zAir, dAir1, 4, wAir);
281 Mixture(99,
"Air $", aAir, zAir, dAir, 4, wAir);
286 float aal2o3[2] = {26.981539, 15.9994};
287 float zal2o3[2] = {13., 8.};
288 float wal2o3[2] = {2., 3.};
291 float aglass[2] = {28.0855, 15.9994};
292 float zglass[2] = {14., 8.};
293 float wglass[2] = {1., 2.};
295 Mixture(6,
"Al2O3 $", aal2o3, zal2o3, denscer, -2, wal2o3);
296 Mixture(7,
"glass $", aglass, zglass, dglass, -2, wglass);
319 Mixture(8,
"Ceramic $", aal2o3, zal2o3, denscer, -2, wal2o3);
324 float tmaxfdSi = 10.0;
325 float stemaxSi = 0.1;
326 float deemaxSi = 0.1;
328 float epsilSi = 1.e-3;
329 float stminSi = 0.001;
341 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1,
nullptr, 0);
344 isxfld, sxmgmx, tmaxfdSi, stemaxSi, deemaxSi, epsilSi, stminSi,
nullptr, 0);
347 isxfld, sxmgmx, tmaxfdSi, stemaxSi, deemaxSi, epsilSi, stminSi,
nullptr, 0);
351 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.01,
nullptr, 0);
355 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.0001,
nullptr, 0);
359 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.0001,
nullptr, 0);
363 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1,
nullptr, 0);
367 isxfld, sxmgmx, 10.0, 0.01, 0.1, 0.003, 0.003,
nullptr, 0);
371 Medium(
ID_PB,
"Pb // The Scintillator must be first in order in vector for Rin to be set$", 10, 0,
372 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1,
nullptr, 0);
375 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.001, 0.001,
nullptr, 0);
379 isxfld, sxmgmx, 10.0, 0.1, 0.1, epsil, 0.001,
nullptr, 0);
383 isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1,
nullptr, 0);
387 isxfld, sxmgmx, 10.0, 1.0, 0.1, 0.1, 1.0,
nullptr, 0);
391 isxfld, sxmgmx, 10.0, 1.0, 0.1, epsil, 0.001,
nullptr, 0);
494 TGeoVolumeAssembly* volHCAL =
new TGeoVolumeAssembly(
"HCAL");
496 TGeoVolumeAssembly* HcalTube = gGeoManager->MakeVolumeAssembly(
"ScintCuTubes");
498 TGeoVolume* volCuTube;
499 TGeoVolume* volSciFi;
506 for (
auto& icomp : mGeoCompositions) {
507 Length = icomp->sizeZ() / 2;
509 if (icomp->material() ==
"Pb") {
510 Rout = icomp->sizeX() / 2;
512 volCuTube = gGeoManager->MakeTube(
"Tube", medium, Rin, Rout, Length);
513 volCuTube->SetLineWidth(2);
514 volCuTube->SetLineColor(kRed);
515 mSensitive.push_back(volCuTube->GetName());
517 HcalTube->AddNode(volCuTube, 1,
nullptr);
519 if (icomp->material() ==
"Scint") {
520 RScint = icomp->sizeX() / 2;
521 Rin = RScint + 0.005;
523 volSciFi = gGeoManager->MakeTube(
"ScintFiber", medium, 0., RScint, Length);
524 volSciFi->SetLineWidth(2);
525 volSciFi->SetLineColor(kBlue);
527 mSensitive.push_back(volSciFi->GetName());
528 HcalTube->AddNode(volSciFi, 1,
nullptr);
530 if (icomp->material() ==
"CuHCAL") {
531 Rout = icomp->sizeX() / 2;
533 volCuTube = gGeoManager->MakeTube(
"Tube", medium, Rin, Rout, Length);
534 volCuTube->SetLineWidth(2);
535 volCuTube->SetLineColor(kRed);
537 mSensitive.push_back(volCuTube->GetName());
538 HcalTube->AddNode(volCuTube, 1,
nullptr);
545 double CuBoxThickness = 0.3;
547 TGeoBBox* ODBox =
new TGeoBBox(
"TowerOD", TowerSize / 2, TowerSize / 2, Length);
548 TGeoBBox* IDBox =
new TGeoBBox(
"TowerID", (TowerSize - CuBoxThickness) / 2, (TowerSize - CuBoxThickness) / 2, Length + 0.01);
549 TGeoCompositeShape* TowerHCAL =
new TGeoCompositeShape(
"TowerHCAL",
"TowerOD - TowerID");
550 TGeoVolume* volTower =
new TGeoVolume(
"volTower", TowerHCAL, gGeoManager->GetMedium(
getMediumID(
ID_COPPER)));
551 volTower->SetLineWidth(2);
552 volTower->SetLineColor(42);
554 mSensitive.push_back(volTower->GetName());
556 TGeoVolumeAssembly* volTowerHCAL =
new TGeoVolumeAssembly(
"volTowerHCAL");
557 volTowerHCAL->AddNode(volTower, 1,
nullptr);
565 while (RowPos + CuBoxThickness / 2 + Rout + 2 * Rout < TowerSize) {
567 float ColumnPos = (Rows % 2 == 0) ? 0. : Rout;
568 while (ColumnPos + CuBoxThickness / 2 + Rout + 2 * Rout < TowerSize) {
570 TGeoTranslation* trans =
new TGeoTranslation(ColumnPos - TowerSize / 2 + CuBoxThickness / 2 + Rout, RowPos - TowerSize / 2 + CuBoxThickness / 2 + Rout, 0.);
572 trans->SetName(Form(
"trans_Num_%d", NumTubes));
573 trans->RegisterYourself();
575 volTowerHCAL->AddNode(HcalTube, NumTubes, trans);
580 ColumnPos = Columns * 2 * Rout + ((Rows % 2 == 0) ? 0. : Rout);
585 RowPos = Rows * 2 * Rout * TMath::Sin(TMath::Pi() / 3);
589 Double_t BeamPipeRadius = 3.0;
590 Double_t TowerHalfDiag = TMath::Sqrt2() * 0.5 * TowerSize;
591 Double_t MinRadius = BeamPipeRadius + TowerSize / 2;
605 SizeXHCAL = SizeXHCAL / 2;
607 TGeoVolumeAssembly* volHalfHCAL =
new TGeoVolumeAssembly(
"HalfHCAL");
609 for (Rows = 0; Rows < nTowersY; Rows++) {
611 float ColumnPos = 0.;
612 RowPos = Rows * TowerSize;
613 for (Columns = 0; Columns < nTowersX / 2; Columns++) {
614 ColumnPos = Columns * TowerSize;
615 TGeoTranslation* trans =
new TGeoTranslation(ColumnPos - SizeXHCAL / 2 + TowerSize / 2, RowPos - SizeYHCAL / 2 + TowerSize / 2, 0.);
618 if (Rows == nTowersY / 2) {
619 trans->SetDx(trans->GetTranslation()[0] + TowerSize / 2);
623 volHalfHCAL->AddNode(volTowerHCAL, NumTowers, trans);
627 volHCAL->AddNode(volHalfHCAL, 1,
new TGeoTranslation(SizeXHCAL / 2 + mGeometry->
getDetectorOpeningRight(), 0, 0));
628 TGeoRotation* rotFlipZ =
new TGeoRotation();
629 rotFlipZ->RotateY(180);
630 TGeoCombiTrans* combHalf =
new TGeoCombiTrans(-SizeXHCAL / 2 - mGeometry->
getDetectorOpeningLeft(), 0., 0., rotFlipZ);
631 volHCAL->AddNode(volHalfHCAL, 2, combHalf);
634 for (Rows = 0; Rows < nTowersY; Rows++) {
636 float ColumnPos = 0.;
637 RowPos = Rows * TowerSize;
638 for (Columns = 0; Columns < nTowersX; Columns++) {
639 ColumnPos = Columns * TowerSize;
640 TGeoTranslation* trans =
new TGeoTranslation(ColumnPos - SizeXHCAL / 2 + TowerSize / 2, RowPos - SizeYHCAL / 2 + TowerSize / 2, 0.);
643 Double_t RadialDistance = TMath::Power(trans->GetTranslation()[0], 2) + TMath::Power(trans->GetTranslation()[1], 2);
645 if (RadialDistance < MinRadius * MinRadius || TMath::Abs(trans->GetTranslation()[0]) > SizeXHCAL / 2) {
650 volHCAL->AddNode(volTowerHCAL, NumTowers, trans);
657 LOG(info) <<
"Number of Towers is: " << (NumTowers - 1);
658 LOG(info) <<
"Number of tubes is: " << (NumTubes - 1) * (NumTowers - 1);
662 TGeoBBox* alHcalBox =
new TGeoBBox(
"AlHCalBox", SizeXHCAL / 2.0, SizeYHCAL / 2.0, 0.5 / 2.0);
663 TGeoVolume* volumeAlHcalBox =
new TGeoVolume(
"volAlHcalBox", alHcalBox, gGeoManager->GetMedium(
getMediumID(
ID_ALUMINIUM)));
664 volumeAlHcalBox->SetLineColor(kOrange);
666 TVirtualMC::GetMC()->Gspos(
"volAlHcalBox", 9999,
"FOCAL", 0.0, 0.0, +1.0 * mGeometry->
getFOCALSizeZ() / 2.0 + 1.0, 0,
"ONLY");
668 mSensitive.push_back(
"volAlHcalBox");
670 TGeoBBox* alUnderBox =
new TGeoBBox(
"AlUnderBox", SizeXHCAL / 2.0, 0.5, mGeometry->
getFOCALSizeZ() / 2.0 + 1.5);
671 TGeoVolume* volumeAlUnderBox =
new TGeoVolume(
"volAlUnderBox", alUnderBox, gGeoManager->GetMedium(
getMediumID(
ID_ALUMINIUM)));
672 volumeAlUnderBox->SetLineColor(kOrange);
674 TVirtualMC::GetMC()->Gspos(
"volAlUnderBox", 9999,
"FOCAL", 0.0, -1.0 * mGeometry->
getFOCALSizeY() / 2 - 10.5, 0.0, 0,
"ONLY");
676 mSensitive.push_back(
"volAlUnderBox");
679 volHCAL->SetVisibility();
680 volHCAL->SetVisDaughters();
687 TGeoVolumeAssembly* volHCAL =
new TGeoVolumeAssembly(
"HCAL");
698 TGeoVolumeAssembly* volTower =
new TGeoVolumeAssembly(
"Tower");
700 int iCu(0), iScint(0);
701 for (
auto& icomp : mGeoCompositions) {
703 pars[0] = icomp->sizeX() / 2;
704 pars[1] = icomp->sizeY() / 2;
705 pars[2] = icomp->sizeZ() / 2;
710 if (icomp->material() ==
"Pb") {
713 const TGeoBBox* HPadBox =
new TGeoBBox(
"HPadBox", pars[0], pars[1], pars[2]);
714 TGeoVolume* HPad =
new TGeoVolume(
"HPad", HPadBox, medium);
715 HPad->SetLineColor(kGray);
717 mSensitive.push_back(HPad->GetName());
718 TGeoTranslation* trans =
new TGeoTranslation(icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset);
719 volTower->AddNode(HPad, iCu, trans);
721 if (icomp->material() ==
"Scint") {
724 const TGeoBBox* HScintBox =
new TGeoBBox(
"HScintBox", pars[0], pars[1], pars[2]);
725 TGeoVolume* HScint =
new TGeoVolume(
"HScint", HScintBox, medium);
726 HScint->SetLineColor(kBlue);
728 mSensitive.push_back(HScint->GetName());
729 TGeoTranslation* trans =
new TGeoTranslation(icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset);
730 volTower->AddNode(HScint, iScint, trans);
732 if (icomp->material() ==
"CuHCAL") {
735 const TGeoBBox* HPadBox =
new TGeoBBox(
"HPadBox", pars[0], pars[1], pars[2]);
736 TGeoVolume* HPad =
new TGeoVolume(
"HPad", HPadBox, medium);
737 HPad->SetLineColor(kRed);
739 mSensitive.push_back(HPad->GetName());
740 TGeoTranslation* trans =
new TGeoTranslation(icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset);
741 volTower->AddNode(HPad, iCu, trans);
747 double BeamPipeRadius = 3.6;
748 double TowerHalfDiag = TMath::Sqrt2() * 0.5 * TowerSize;
749 double MinRadius = BeamPipeRadius + TowerHalfDiag;
763 for (Rows = 0; Rows < nTowersY; Rows++) {
765 float ColumnPos = 0.;
766 RowPos = Rows * TowerSize;
767 for (Columns = 0; Columns < nTowersX; Columns++) {
768 ColumnPos = Columns * TowerSize;
770 TGeoTranslation* trans =
new TGeoTranslation(ColumnPos - SizeXHCAL / 2 + TowerSize / 2, RowPos - SizeYHCAL / 2 + TowerSize / 2, 0.);
773 double RadialDistance = TMath::Power(ColumnPos - SizeXHCAL / 2 + TowerSize / 2, 2) + TMath::Power(RowPos - SizeYHCAL / 2 + TowerSize / 2, 2);
775 if (RadialDistance < MinRadius * MinRadius) {
780 volHCAL->AddNode(volTower, NumTowers, trans);
785 LOG(info) <<
"Number of Towers is: " << (NumTowers - 1);
789 TGeoBBox* alHcalBox =
new TGeoBBox(
"AlHCalBox", SizeXHCAL / 2.0, SizeYHCAL / 2.0, 0.5 / 2.0);
790 TGeoVolume* volumeAlHcalBox =
new TGeoVolume(
"volAlHcalBox", alHcalBox, gGeoManager->GetMedium(
getMediumID(
ID_ALUMINIUM)));
791 volumeAlHcalBox->SetLineColor(kOrange);
793 TVirtualMC::GetMC()->Gspos(
"volAlHcalBox", 9999,
"FOCAL", 0.0, 0.0, +1.0 * mGeometry->
getFOCALSizeZ() / 2.0 + 1.0, 0,
"ONLY");
795 TGeoBBox* alUnderBox =
new TGeoBBox(
"AlUnderBox", SizeXHCAL / 2.0, 0.5, mGeometry->
getFOCALSizeZ() / 2.0 + 1.5);
796 TGeoVolume* volumeAlUnderBox =
new TGeoVolume(
"volAlUnderBox", alUnderBox, gGeoManager->GetMedium(
getMediumID(
ID_ALUMINIUM)));
797 volumeAlUnderBox->SetLineColor(kOrange);
799 TVirtualMC::GetMC()->Gspos(
"volAlUnderBox", 9999,
"FOCAL", 0.0, -1.0 * mGeometry->
getFOCALSizeY() / 2 - 10.5, 0.0, 0,
"ONLY");
802 TGeoVolume* volFOCAL = gGeoManager->GetVolume(
"FOCAL");
838 mSensitive.push_back(
"EMSC1");
839 mSensitive.push_back(
"EMSC2");
846 for (
auto& icomp : mGeoCompositions) {
848 pars[0] = icomp->sizeX() / 2.;
849 pars[1] = icomp->sizeY() / 2.;
850 pars[2] = icomp->sizeZ() / 2.;
853 if (icomp->material() ==
"PureW") {
857 mSensitive.push_back(
"EW1");
858 gGeoManager->GetVolume(
"EW1")->SetLineColor(kBlue);
859 TVirtualMC::GetMC()->Gspos(
"EW1", icomp->id() + 1,
"EMSC1",
860 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
861 TVirtualMC::GetMC()->Gspos(
"EW1", icomp->id() + 1,
"EMSC2",
862 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
864 if (icomp->material() ==
"Alloy") {
868 mSensitive.push_back(
"EW1");
869 TVirtualMC::GetMC()->Gspos(
"EW1", icomp->id() + 1,
"EMSC1",
870 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
871 TVirtualMC::GetMC()->Gspos(
"EW1", icomp->id() + 1,
"EMSC2",
872 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
875 if (icomp->material() ==
"G10") {
879 mSensitive.push_back(
"G10RO1");
880 gGeoManager->GetVolume(
"G10RO1")->SetLineColor(kGreen);
881 TVirtualMC::GetMC()->Gspos(
"G10RO1", icomp->id() + 1,
"EMSC1",
882 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
883 TVirtualMC::GetMC()->Gspos(
"G10RO1", icomp->id() + 1,
"EMSC2",
884 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
887 if (icomp->material() ==
"Cu") {
891 mSensitive.push_back(
"EWCU");
892 gGeoManager->GetVolume(
"EWCU")->SetLineColor(kViolet);
893 TVirtualMC::GetMC()->Gspos(
"EWCU", icomp->id() + 1,
"EMSC1",
894 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
895 TVirtualMC::GetMC()->Gspos(
"EWCU", icomp->id() + 1,
"EMSC2",
896 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
899 if (icomp->material() ==
"Air") {
903 mSensitive.push_back(
"EWAIR1");
904 gGeoManager->GetVolume(
"EWAIR1")->SetLineColor(kGray);
905 TVirtualMC::GetMC()->Gspos(
"EWAIR1", icomp->id() + 1,
"EMSC1",
906 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
907 TVirtualMC::GetMC()->Gspos(
"EWAIR1", icomp->id() + 1,
"EMSC2",
908 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
911 if (icomp->material() ==
"Ceramic") {
915 mSensitive.push_back(
"EWAIR1");
916 TVirtualMC::GetMC()->Gspos(
"EWAIR1", icomp->id() + 1,
"EMSC1",
917 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
918 TVirtualMC::GetMC()->Gspos(
"EWAIR1", icomp->id() + 1,
"EMSC2",
919 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
922 if (icomp->material() ==
"SiPad") {
926 mSensitive.push_back(
"EWSIPAD1");
927 gGeoManager->GetVolume(
"EWSIPAD1")->SetLineColor(kOrange - 7);
928 int number = (icomp->id()) + (icomp->stack() << 12) + (icomp->layer() << 16);
930 TVirtualMC::GetMC()->Gspos(
"EWSIPAD1", number + 1,
"EMSC1",
931 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
932 TVirtualMC::GetMC()->Gspos(
"EWSIPAD1", number + 1,
"EMSC2",
933 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
937 if (icomp->material() ==
"SiPix") {
941 mSensitive.push_back(
"EWSIPIX1");
942 gGeoManager->GetVolume(
"EWSIPIX1")->SetLineColor(kPink);
944 int number = (icomp->id()) + (icomp->stack() << 12) + (icomp->layer() << 16);
945 TVirtualMC::GetMC()->Gspos(
"EWSIPIX1", number + 1,
"EMSC1",
947 TVirtualMC::GetMC()->Gspos(
"EWSIPIX1", number + 1,
"EMSC2",
952 if (icomp->material() ==
"Si") {
956 mSensitive.push_back(
"EWSI1");
957 gGeoManager->GetVolume(
"EWSI1")->SetLineColor(kPink);
958 TVirtualMC::GetMC()->Gspos(
"EWSI1", icomp->id() + 1,
"EMSC1",
959 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
960 TVirtualMC::GetMC()->Gspos(
"EWSI1", icomp->id() + 1,
"EMSC2",
961 icomp->centerX(), icomp->centerY(), icomp->centerZ() -
offset, 0,
"ONLY");
967 TGeoVolume* volumeColdPlate =
nullptr;
971 volumeColdPlate =
new TGeoVolume(
"volColdPlate", coldPlateBox, gGeoManager->GetMedium(
getMediumID(
ID_COPPER)));
974 volumeColdPlate =
new TGeoVolume(
"volColdPlate", coldPlateBox, gGeoManager->GetMedium(
getMediumID(
ID_ALUMINIUM)));
976 volumeColdPlate =
new TGeoVolume(
"volColdPlate", coldPlateBox, gGeoManager->GetMedium(
getMediumID(
ID_AIR)));
979 mSensitive.push_back(volumeColdPlate->GetName());
980 volumeColdPlate->SetLineColor(kOrange);
995 mSensitive.push_back(
"ECAL");
1000 TGeoVolume* volumeSiPad =
new TGeoVolume(
"volSiPad", siPadBox, gGeoManager->GetMedium(
getMediumID(
ID_SIPAD)));
1001 volumeSiPad->SetLineColor(kOrange + 7);
1004 mSensitive.push_back(volumeSiPad->GetName());
1008 int itowerx, itowery;
1023 TVirtualMC::GetMC()->Gspos(
"EMSC1", number + 1,
"ECAL", xp, yp, 0, 0,
"ONLY");
1026 TVirtualMC::GetMC()->Gspos(
"volSiPad", -1 * (number + 1),
"FOCAL", xp, yp, -1.0 * geom->
getFOCALSizeZ() / 2.0, 0,
"ONLY");
1028 mSensitive.push_back(
"volSiPad");
1031 mSensitive.push_back(
"volSiPad");
1039 TVirtualMC::GetMC()->Gspos(
"EMSC2", number + 1,
"ECAL", xp, yp, 0, 0,
"ONLY");
1042 TVirtualMC::GetMC()->Gspos(
"volSiPad", -1 * (number + 1),
"FOCAL", xp, yp, -1.0 * geom->
getFOCALSizeZ() / 2.0, 0,
"ONLY");
1044 mSensitive.push_back(
"volSiPad");
1047 mSensitive.push_back(
"volSiPad");