Skip to content

Commit 59a58c8

Browse files
noferinisawenzel
authored andcommitted
geo overlap fix: TOF SM passive frame
1 parent 746b6e7 commit 59a58c8

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

Detectors/Passive/src/FrameStructure.cxx

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -671,15 +671,32 @@ void FrameStructure::ConstructGeometry()
671671
ptrap[9] = ptrap[4];
672672

673673
vmc->Gsvolu("B045", "TRAP", kSteel, ptrap, 11);
674+
675+
TGeoTrap *b045shape = new TGeoTrap("B045shape", ptrap[0], ptrap[1], ptrap[2], ptrap[3], ptrap[4], ptrap[5], ptrap[6], ptrap[7], ptrap[8], ptrap[9], ptrap[10]);
676+
double cutAngle = 43*TMath::DegToRad();
677+
double trd1par[4] = {0., 15 +0.1, 15, 15*TMath::Tan(cutAngle)*0.5 +0.45};
678+
TGeoTranslation* trnsB045cut = new TGeoTranslation("trnsB045cut", ptrap[0]*TMath::Tan(ptrap[1]*TMath::DegToRad())-trd1par[2]+ptrap[4], -ptrap[3] + 0.5, ptrap[0] + 0.6);
679+
TGeoRotation* rotB045cut = new TGeoRotation("rotB045cut");
680+
rotB045cut->RotateZ(90);
681+
TGeoCombiTrans *moveB045cut = new TGeoCombiTrans(*trnsB045cut, *rotB045cut);
682+
moveB045cut->SetName("moveB045cut");
683+
moveB045cut->RegisterYourself();
684+
674685
ptrap[3] = doh - ds;
675686
ptrap[4] = (dol - ds) / x;
676687
ptrap[5] = ptrap[4];
677688
ptrap[7] = ptrap[3];
678689
ptrap[8] = ptrap[4];
679690
ptrap[9] = ptrap[4];
691+
680692
vmc->Gsvolu("B046", "TRAP", kAir, ptrap, 11);
681693
vmc->Gspos("B046", 1, "B045", 0.0, 0.0, 0., 0, "ONLY");
682694

695+
TGeoTrd1 *cutOnB045 = new TGeoTrd1("cutOnB045",trd1par[0],trd1par[1],trd1par[2],trd1par[3]);
696+
697+
TGeoCompositeShape* b045shapeCut = new TGeoCompositeShape("B045shapeCut", "(B045shape)-(cutOnB045:moveB045cut)");
698+
TGeoVolume* B045cutVol = new TGeoVolume("B045cut", b045shapeCut, kMedSteel);
699+
683700
//
684701
// Positioning of diagonal bars
685702

@@ -701,7 +718,7 @@ void FrameStructure::ConstructGeometry()
701718
vmc->Gspos("B045", 4, "B077", dx, dy, -dz2, idrotm[2029], "ONLY");
702719

703720
vmc->Gspos("B045", 5, "B077", dx, -dy, -dz2, idrotm[2021], "ONLY");
704-
vmc->Gspos("B045", 6, "B077", dx, -dy, +dz2, idrotm[2028], "ONLY");
721+
vmc->Gspos("B045cut", 6, "B077", dx, -dy, +dz2, idrotm[2028], "ONLY");
705722
vmc->Gspos("B045", 7, "B077", -dx, -dy, -dz2, idrotm[2022], "ONLY");
706723
vmc->Gspos("B045", 8, "B077", -dx, -dy, +dz2, idrotm[2029], "ONLY");
707724

@@ -1359,7 +1376,8 @@ void FrameStructure::ConstructGeometry()
13591376
dy = -TMath::Cos((phi1 + 8.95) * kdeg2rad) * (rout2 + 12.);
13601377
if ((i > 3 && i < 8) || (i > 10 && i < 15)) {
13611378
(gGeoManager->GetVolume("B077"))->AddNode(asTOFS03, i, new TGeoCombiTrans(dx, dy, 345. - 53. - 0.5, rot1));
1362-
} else {
1379+
}
1380+
else {
13631381
(gGeoManager->GetVolume("B077"))->AddNode(asTOFS01, i, new TGeoCombiTrans(dx, dy, 345. - 53. - 0.5, rot1));
13641382
}
13651383
dx = TMath::Sin((phi1 - 8.95) * kdeg2rad) * (rout2 + 12.);

0 commit comments

Comments
 (0)