Problem 2209 - G4Tet does not supported Parameterisation (from 10.6)
Summary: G4Tet does not supported Parameterisation (from 10.6)
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: geometry/solids (show other problems)
Version: 10.6
Hardware: PC All
: P4 normal
Assignee: Gabriele Cosmo
URL:
: 2219 (view as problem list)
Depends on:
Blocks:
 
Reported: 2019-12-10 10:31 CET by evandde
Modified: 2020-02-03 15:49 CET (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description evandde 2019-12-10 10:31:14 CET
Hello.
I am handling about 8 million tetrahedrons in my detector construction class.
Until Geant4 10.5, the tetrahedrons have placed by G4PVParameterised class.
However, I found that this approach does not allowed in 10.6 with the error as below:
--------- EEEE -------- G4Exception-START ------- EEEE -------
*** G4Exception : GeomSolids0001
issued by : G4Tet::ComputeDimensions()
G4Tet does not support Parameterisation.
*** Fatal Exception *** core dump ***
**** Track information is not available at this moment
**** Step information is not available at this moment
--------- EEEE ---------- G4Exception-END ------- EEEE -------
From this, I also found that the source code of G4Tet.cc has been modified.
At 10.5, G4Tet::ComputeDimensions() function had no functionality.
void G4Tet::ComputeDimensions(G4VPVParameterisation* , const G4int , const G4VPhysicalVolume* )
{
}
On the other hand, at 10.6, G4Tet::ComputeDimensions() function generates a fatal error without any functionality.
void G4Tet::ComputeDimensions(G4VPVParameterisation* , const G4int , const G4VPhysicalVolume* )
{
G4Exception(“G4Tet::ComputeDimensions()”, “GeomSolids0001”, FatalException, “G4Tet does not support Parameterisation.”);
}
I cannot find any related notice in realese note.
I do know I can use loop statements with G4PVPlacement, but it took two-three times overhead compared to use of G4PVParameterised in memory usage and geometry initialization time (tested in 10.5).
Does it have problems to use G4Tet with G4VPVParameterisation?
If so, what is the alternative method to place a number of tetrahedrons?
Comment 1 Gabriele Cosmo 2019-12-10 11:44:03 CET
Thanks for reporting the issue.
The exception was actually introduced by mistake. G4Tet does not figure among the shapes listed in G4VPVParameterisation, but is a special case for which no dispatching is made. A fix will be included in the next patch release.
In the meantime, you can safely comment out the G4Exception statement.
Comment 2 Gabriele Cosmo 2020-02-03 15:49:01 CET
*** Problem 2219 has been marked as a duplicate of this problem. ***