Skip to content

Solving original detector overlaps #1

@ramirezdiego

Description

@ramirezdiego

I just want to keep track of this old issue, even if it was resolved.

A few years ago I added an overlap check to the GeMSE sims code and spotted issues for the Pb shielding and Cu housing volumes. I resolved the overlaps by pushing these changes in the DetectorConstruction class:

> Before
> After

276c276
<     G4double yPosCuPlateThick_mov       = -ySizeCuShielding/2.+ySizeCuPlateThick_mov/2.+0.001*cm;
---
>     G4double yPosCuPlateThick_mov       = -ySizeCuShielding/2.+ySizeCuPlateThick_mov/2.;


500,501c501,502
<       G4Box* innerPbShieldingTopMov_box = new G4Box("innerPbShieldingTopMov_box", xSizeInnerPbShieldingTop_mov/2.+0.001*cm, ySizeInnerPbShieldingTop_mov/2.+0.001*cm,zSizeInnerPbShieldingTop_mov/2.);
---
>       G4Box* innerPbShieldingTopMov_box = new G4Box("innerPbShieldingTopMov_box", xSizeInnerPbShieldingTop_mov/2., ySizeInnerPbShieldingTop_mov/2., zSizeInnerPbShieldingTop_mov/2.);


514,516c515,517
<       G4Box* outerPbShieldingHoleSideMov_box = new G4Box("outerPbShieldingHoleSideMov",xSizeInnerPbShieldingSide_mov/2.+0.005*cm,ySizeInnerPbShieldingSide_mov/2.+0.005*cm,zSizeInnerPbShieldingSide_mov/2.+0.005*cm);
<       G4Box* outerPbShieldingHoleBackMov_box = new G4Box("outerPbShieldingHoleSideMov_box",xSizeInnerPbShieldingBack_mov/2.+0.005*cm,ySizeInnerPbShieldingBack_mov/2.+0.005*cm,zSizeInnerPbShieldingBack_mov/2.+0.005*cm);
<       G4Box* outerPbShieldingHoleTopMov_box = new G4Box("outerPbShieldingHoleTopMov_box",xSizeInnerPbShieldingTop_mov/2.+0.005*cm,ySizeInnerPbShieldingTop_mov/2.+0.005*cm,(zSizeInnerPbShieldingTop_mov+zSizeCuPlateThick_mov-zSizeCuPlateThin_mov)/2.+0.005*cm);
---
>       G4Box* outerPbShieldingHoleSideMov_box = new G4Box("outerPbShieldingHoleSideMov",xSizeInnerPbShieldingSide_mov/2.,ySizeInnerPbShieldingSide_mov/2.,zSizeInnerPbShieldingSide_mov/2.);
>       G4Box* outerPbShieldingHoleBackMov_box = new G4Box("outerPbShieldingHoleSideMov_box",xSizeInnerPbShieldingBack_mov/2.,ySizeInnerPbShieldingBack_mov/2., zSizeInnerPbShieldingBack_mov/2.);
>       G4Box* outerPbShieldingHoleTopMov_box = new G4Box("outerPbShieldingHoleTopMov_box",xSizeInnerPbShieldingTop_mov/2.,ySizeInnerPbShieldingTop_mov/2.,(zSizeInnerPbShieldingTop_mov+zSizeCuPlateThick_mov-zSizeCuPlateThin_mov)/2);


571,572c572,573
<   G4UnionSolid* CuHsg_uni2	= new G4UnionSolid("CuHsg_uni2",CuHsg_uni1,CuHsg_bottom_uni2,0,G4ThreeVector(0.,0.,-heightCuHsg+heightEndcap/2.-heightCuHsg_bottom/2.+0.005*cm));
---
>   G4UnionSolid* CuHsg_uni2	= new G4UnionSolid ("CuHsg_uni2",CuHsg_uni1,CuHsg_bottom_uni2,0,G4ThreeVector(0.,0.,-heightCuHsg+heightEndcap/2.-heightCuHsg_bottom/2.));

While speaking to Moritz back then, he told me that the small additions (0.005*cm) were coded so that visualization issues didn't arise. In the meantime, the code upgraded to G4.10+ and some visualization issues remain, but not this one. In any case I open the issue just to keep track.

The GeMSE geometry was originally coded without hierarchy, in the sense that the Cu shielding isn't the daughter volume of the Pb shielding (no onion-like approach). All volumes are daughter of the world volume and this makes overlap handling a bit tricky.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions