I have 7 physical volumes made from G4Tubs and a G4Polyhedra(hexagon) after applying boolean subtraction as shown below
I am struggling to build a ‘solid’ air envelope around the above crystal which should completely overlap the crystal and must be of the same shape, a honeycomb.
Can someone please suggest an efficient and computationally light way of going about this.
So the “air” should be a simple cylinder (G4Tubs), with the honeycomb crystal embeded inside it? If that’s the case, create the air volume first as a “mother volume”, and place the crystal honeycomb within it as a daughter.
So I am trying to make an air envelop which is similar in shape, like the honeycomb just extends a bit more than the solid.
One way is to place it exactly like the way for solid but I am getting overlaps there as the crystals are then lying in two envelop volumes one hexagon and one cylindrical. I was wondering if it Is feasiblecreate a single envelop whose shape is like the outer boundary of a solid.
Ah, Now I understand more from your drawing, but not everything. Is the air just a hole punched through the whole “honeycomb” shape? Is your world volume also air, or is your world volume G4_Galactic or something?
If you just want to punch a hole through the honeycomb, I would do that with either an “extruded polygon” or a G4MultiUnion of six hexagons, and then do a G4Subtraction through that.
If your world volume is not air, and you really want a cylindrical “air bubble”, then you can do that by making an extruded polygon or a G4MultiUnion of seven hexagons (so the whole thing is solid!), and then place a G4Tubs of air at the center. If the Z values are equal for the two volumes, then the coincident surface should be safe (there’s no computation or interpolation needed).
Sorry I am a bit confused here
G4Tubs or should I place the extruded volume here ?
This is applicable only for the G4UnionSolid, right? Actually I think the z value (length) of the G4Galactic envelope will be slightly longer than the honeycomb solid.
This doesn’t sound consistent. So what you want is G4_Galactic, with some volume (probably a large hexagon, for convenience) of G4_Air inside it, and then your nice “honeycomb” shape with a hole in the center inside that?
That’s three volumes. Each one is a daughter volume of the previous one, and conveniently you should be able to place them all one within the other at (0,0,0).
Your World should be something simple, like a cube or a rectangular box.
Create a simple hexagon (G4Polyhedra) slightly larger than your honeycomb in all dimensions, filled with G4_Air.
Build your honeycomb as an extruded solid, such that (0,0,0) is at the center. You can use the separate G4Polyhedra constructor with a list of (r,z) corners to build the outer shape, then do a boolean subtraction of the central cylinder.