@@ -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