The Hype volume
E.Lamanna & F.Safai Tehrani
University of Rome "La Sapienza" & INFN Roma1
The Hype volume has been implemented as a BREP volume, and I am debugging it, since it actually has some problem interacting with Geant4.
The current implementation provides two solids:
- G4BREPSolidHype
- G4BREPSolidThickHype
The G4BREPSolidHype is a tube with an hyperbolic profile, while the G4BREPSolidThickHype has two hyperbolic surfaces (one inner and one outer).
The interface is standard, and coherent with the other BREP solids already implemented in Geant4.
G4BREPSolidHype
To define a G4BREPSolidHype volume the user has to give the following parameters:
| Origin |
The Hype origin, i.e. its geometric center |
| Axis |
The simmetry axis |
| Direction |
The volume direction |
| Radius |
The minimum radius value |
| Theta stereo angle |
The stereo angle |
| halfZ |
The half length along the axis |
the Hype solid is then defined by the logical union of three surfaces, a G4FHype (a surface with hyperbolic profile), and two plane surfaces with circular boundary.
The interface provides the following methods to interact with the G4BREPSolidHype:
| Inside |
A boolean function:
true if inside
false else |
| DistanceToIn |
Calculate the distance to enter the surface from a certain point:
- along the normal direction
or
- along a user given direction |
| DistanceToOut |
Calculate the distance to exit the surface from a certain point:
- along the normal direction
or
- along a user given direction |
| SurfaceNormal |
Calculate the unity vector normal to the surface in a certain point |
G4BREPSolidThickHype
To define a G4BREPSolidThickHype volume the user has to give the following parameters:
| Origin |
The Hype origin, i.e. its geometric center |
| Axis |
The simmetry axis |
| Direction |
The volume direction |
| innerRadius |
The minimum radius value for the inner Hype surface |
| outerRadius |
The minimum radius value for the outer Hype surface |
| Theta stereo angle |
The stereo angle |
| halfZ |
The half length along the axis |
this time the solid is defined by the logical union of four surfaces, two G4FHype and two plane surfaces with circular inner and outer boundaries.
The interface provides the following methods to interact with the G4BREPSolidHype:
| Inside |
A boolean function:
true if inside
false else |
| DistanceToIn |
Calculate the distance to enter the surface from a certain point:
- along the normal direction
or
- along a user given direction |
| DistanceToOut |
Calculate the distance to exit the surface from a certain point:
- along the normal direction
or
- along a user given direction |
| SurfaceNormal |
Calculate the unity vector normal to the surface in a certain point |
In the future another version of this solid will be implemented, with the possibility to have different stereo angles for the inner and the outer surface.
Current status
The volumes are both fully implemented, and they're undergoing extensive debugging.
Problems connected to the selection of the step to exit from the HYPE volume arrive using the last version (alpha04) of GEANT4.
For informations and comments please contact: Ernesto Lamanna or Francesco Safai Tehrani
|