Message: Any examples of building BREPS solids? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Any examples of building BREPS solids? 

Forum: Geometry
Re: Question Geometry Parameterization (Matt Worden)
Date: 04 Nov, 2009
From: Michael H. Kelsey <Michael H. Kelsey>

I've been talking with Matt Worden (Florida A&M) here at the SLAC GEANT4 workshop. His geometry problem is interesting, and it seems to me there should be two reasonable solutions, but I can't find good examples for how to implement them.

He has a quartz sphere to which he wants to attach a square array of parallel cylindrical channels, quartz-to-quartz so there are no surface reflection/refraction effects. Since solids can't overlap, each channel needs to be built as a truncated cylinder, where the cut surface is a spherical piece unique to that cylinder's position. Those solids can then be directly butted to the quartz sphere.

It seems clear that the array of volumes containing the cylinders should be implemented as nested divided volumes (i.e., G4PVNestedParametrization), so that the "x" and "y" indices of the replica and mother, respectively, map directly to coordinates on the plane normal to the cylinder array. For each replica volume, then, a G4VSolid* gets created (or stored in a list and returned on demand) based on those coordinates. It's how to make those solids that confuses me.

One option would be a subtracted Boolean solid, using a simple cylinder with the original sphere subtracted from it. The interface here is direct enough that I think I could help Matt write the code, but I'm concerned about speed, efficiency, and memory explosions with the number of replicas.

Another option would be a BREPS solid, with a cylindrical boundary, a circular base, and a spherical surface for the truncated end. I'm equally concerned about the performance issues, but there's someing more basic. I can't find _any_ example in the G4 distribution which show how BREPS are used, that is, |find examples -name '*.cc' | xargs grep BREP| returns nothing.

Could somebody point me to an example of making a custom BREP solid?

   -- Michael Kelsey

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Question: Re: Any examples of building BREPS solids?   (Alex Leatherland - 01 Jul, 2013)
(_ None: Re: Any examples of building BREPS solids?   (John Apostolakis - 08 Jul, 2013)
 Add Message Add Message
to: "Any examples of building BREPS solids?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews

[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]