Opticks Testing, Geocache Creation, Python setup¶
Table of Contents
Testing Installation with opticks-t¶
The opticks-t function runs ctests for all the opticks packages:
N[blyth@localhost opticks]$ opticks-
N[blyth@localhost opticks]$ opticks-t
=== qudarap-check-installation : /home/blyth/.opticks/rngcache/RNG rc 0
=== qudarap-check-installation : /home/blyth/.opticks/rngcache/RNG/QCurandState_1000000_0_0.bin rc 0
=== qudarap-check-installation : /home/blyth/.opticks/rngcache/RNG/QCurandState_3000000_0_0.bin rc 0
=== qudarap-check-installation : /home/blyth/.opticks/rngcache/RNG/QCurandState_10000000_0_0.bin rc 0
=== opticks-check-installation : rc 0
=== om-env : normal running
...
21 /30 Test #21 : U4Test.U4Material_MakePropertyFold_MakeTest Passed 2.10
22 /30 Test #22 : U4Test.U4Material_MakePropertyFold_LoadTest Passed 0.16
23 /30 Test #23 : U4Test.U4TouchableTest Passed 0.15
24 /30 Test #24 : U4Test.U4SurfaceTest Passed 0.17
25 /30 Test #25 : U4Test.U4SolidTest Passed 0.16
26 /30 Test #26 : U4Test.U4SensitiveDetectorTest Passed 0.16
27 /30 Test #27 : U4Test.U4Debug_Test Passed 0.15
28 /30 Test #28 : U4Test.U4Hit_Debug_Test Passed 0.16
29 /30 Test #29 : U4Test.G4ThreeVectorTest Passed 0.17
30 /30 Test #30 : U4Test.U4PhysicsTableTest Passed 0.16
CTestLog : CSGOptiX : 0/ 4 : 2024-02-01 11:03:06.513634 : /home/blyth/junotop/ExternalLibs/opticks/head/build/CSGOptiX/ctest.log
1 /4 Test #1 : CSGOptiXTest.CSGOptiXVersion Passed 0.05
2 /4 Test #2 : CSGOptiXTest.CSGOptiXVersionTest Passed 0.04
3 /4 Test #3 : CSGOptiXTest.CSGOptiXRenderTest Passed 1.47
4 /4 Test #4 : CSGOptiXTest.ParamsTest Passed 0.04
CTestLog : g4cx : 0/ 2 : 2024-02-01 11:03:10.025646 : /home/blyth/junotop/ExternalLibs/opticks/head/build/g4cx/ctest.log
1 /2 Test #1 : G4CXTest.G4CXRenderTest Passed 1.49
2 /2 Test #2 : G4CXTest.G4CXOpticks_setGeometry_Test Passed 1.86
LOGS:
CTestLog : okconf : 0/ 4 : 2024-02-01 11:02:10.441449 : /home/blyth/junotop/ExternalLibs/opticks/head/build/okconf/ctest.log
CTestLog : sysrap : 0/ 107 : 2024-02-01 11:02:18.513475 : /home/blyth/junotop/ExternalLibs/opticks/head/build/sysrap/ctest.log
CTestLog : ana : 0/ 1 : 2024-02-01 11:02:18.682476 : /home/blyth/junotop/ExternalLibs/opticks/head/build/ana/ctest.log
CTestLog : analytic : 0/ 1 : 2024-02-01 11:02:18.853477 : /home/blyth/junotop/ExternalLibs/opticks/head/build/analytic/ctest.log
CTestLog : bin : 0/ 1 : 2024-02-01 11:02:19.015477 : /home/blyth/junotop/ExternalLibs/opticks/head/build/bin/ctest.log
CTestLog : CSG : 0/ 42 : 2024-02-01 11:02:41.095550 : /home/blyth/junotop/ExternalLibs/opticks/head/build/CSG/ctest.log
CTestLog : qudarap : 0/ 20 : 2024-02-01 11:02:50.496581 : /home/blyth/junotop/ExternalLibs/opticks/head/build/qudarap/ctest.log
CTestLog : gdxml : 0/ 1 : 2024-02-01 11:02:50.722582 : /home/blyth/junotop/ExternalLibs/opticks/head/build/gdxml/ctest.log
CTestLog : u4 : 0/ 30 : 2024-02-01 11:03:04.775629 : /home/blyth/junotop/ExternalLibs/opticks/head/build/u4/ctest.log
CTestLog : CSGOptiX : 0/ 4 : 2024-02-01 11:03:06.513634 : /home/blyth/junotop/ExternalLibs/opticks/head/build/CSGOptiX/ctest.log
CTestLog : g4cx : 0/ 2 : 2024-02-01 11:03:10.025646 : /home/blyth/junotop/ExternalLibs/opticks/head/build/g4cx/ctest.log
SLOW: tests taking longer that 15 seconds
...
FAILS: 0 / 213 : Thu Feb 1 11:03:10 2024
Translating a GDML geometry into Opticks/CSGFoundry directory¶
Many tests will fail unless you have translated a geometry and selected it. Start by studying the documentation within the script:
g4cx/tests/G4CXOpticks_setGeometry_Test.sh
That includes instructions for selecting the geometry via your ~/.opticks/GEOM/GEOM.sh
Opticks Analysis and Debugging using Python, IPython, NumPy and Matplotlib : manage with miniconda¶
Opticks uses the NumPy (NPY) buffer serialization format for geometry and event data, thus analysis and debugging requires python and ipython with numpy and matplotib extensions. Optionally pyvista/VTK is useful for fast 3D plotting of large datasets. For management of these and other python packages it is convenient to use miniconda.
Opticks is in the process of migrating scripts from python2 to python3, currently using Python 3.7.8. Please report problems from unmigrated scripts.
After installing miniconda the additional packages can be installed with commands such as:
conda install ipython
conda install numpy
conda install sympy
conda install matplotlib
In addition to your PATH you can also control which python Opticks uses with the optional OPTICKS_PYTHON envvar, for example:
export OPTICKS_PYTHON=python3