Gverify : package designed to check a GEANT geometry for two particular
types of errors: daughters not entirely contained in their mother
volumes, and daughters which intersected. Is was written by Saul Youssef (1990).
See also the following presentation given by James Bellinger (he has ported Gverify to Linux)
So, what problems could STAR user expect from broken geometry? Many, actually, because detector material is not located where user expect it to be. Wrong efficiency estimations, noise checks, even subsystem acceptance could be very different...
Whoops... 1180 daugthers outside of mother volume + 529 daughters found to be intersecting...
Results/details could be found here (11 chunks, click y2006_0XX for details) :
Chunk | Daughter volumes protruded from Mother volume | Daughter volumes intersecting each other | Daughters close to int. |
---|---|---|---|
y2006_000 | 371 | 324 | 1 |
y2006_001 | 159 | 45 | 0 |
y2006_002 | 228 | 0 | 0 |
y2006_003 | 76 | 28 | 4 |
y2006_004 | 10 | 6 | 2 |
y2006_005 | 103 | 0 | 0 |
y2006_006 | 122 | 16 | 0 |
y2006_007 | 7 | 0 | 0 |
y2006_008 | 29 | 49 | 9 |
y2006_009 | 46 | 40 | 0 |
y2006_010 | 29 | 21 | 0 |
TOTAL: 1180 protrusions, 529 intersections, 18 close to intersection |
Well, STAR geometry is very symmetric, so total number of unique cases should be at least one order of magnitude lower than table shows (my guess).
starsim -w 0
, start starsim frameworkgdrop all
detp geom Y200Xy
, e.g.: Y2004c, Y2006 etc.make geometry
gclose all
grfile y200Xy.rz
quit
, quit starsim./gvextrtd.exe
(gvextrtx hacked to read .rz files), input file is not in exchange mode. Extractor
creates "y2005.txt" file./gvreducx.exe y2005.ext
, y2005.red is produced ./gvsplitx.exe y2005.red
, I've chosen chunks of 500./gverifyx.exe y2005_008.red
, y2005.rec is produced./gvsumryx.exe y2005_008.rec > y2005_008.sum
, voila, all Errors instantly reported./conv.php y2005_008.sum > y2005_008.conv.txt
, to revert volume names back to normalWARNING: it is surely NOT the best way to convert .rz to .fz formats ;)
What we do: read .rz file by standard GRFILE routine, dump it back by GFOUT as required by Gverify:
starsim -w 1
CALL GRFILE(50,'y2005.rz','I')
CALL GOPEN(60,'O',1024,0)
CALL GFOUT(60,'INIT',1,0,' ',0)
quit
mv fort.60 y2005.fz
Note: one can also use gvextrtd.exe which is hacked to use STAR standard .rz files...