Space and time Domains were not setup propertly. Attempt to make domain handling more robust by tieing Opticks::configureDomains to the setting of the space domain and asserting that this is done within Opticks::makeEvent.
Whilst doing high level refactor in ggeoview/OpticksApp the propagation runs but the visualization fails to appear both from the old and new mains:
GGeoViewTest
OpticksAppTest
This is an all too common occurence.
Symptoms:
Save the propagation and examine with tevt.py:
GGeoViewTest --save
OpticksAppTest --save ## get precisely same values with both the binaries
simon:issues blyth$ ipython -i $(which tevt.py) -- --det dayabay --tag 1
...
In [5]: evt.post ## photon buffer, which does not undergo compression/decompression look normal
Out[5]:
A()sliced
A([[ -20366.123, -798767.75 , -7962.852, 14.132],
[ -19641.139, -799302.25 , -9119.9 , 15.018],
[ -18080.379, -799015.812, -4998. , 8.911],
...,
[ -17409.719, -797559.812, -8459.558, 14.606],
[ -15950.902, -798960.812, -7200.205, 11.719],
[ -18439.031, -799557.938, -7175.665, 3.542]], dtype=float32)
In [12]: evt.rpost_(0) ## record buffer, looks like missing spatial domain
Out[12]:
A()sliced
A([[-1000.031, -1000.031, -1000.031, 0.098],
[-1000.031, -1000.031, -1000.031, 0.098],
[-1000.031, -1000.031, -1000.031, 0.098],
...,
[-1000.031, -1000.031, -1000.031, 0.098],
[-1000.031, -1000.031, -1000.031, 0.098],
[-1000.031, -1000.031, -1000.031, 0.098]])
In [15]: evt.rpost_(3)
Out[15]:
A()sliced
A([[-1000.031, -1000.031, -1000.031, 11.298],
[-1000.031, -1000.031, -1000.031, 14.85 ],
[-1000.031, -1000.031, -1000.031, 8.466],
...,
[-1000.031, -1000.031, -1000.031, 12.83 ],
[-1000.031, -1000.031, -1000.031, 10.309],
[ 0. , 0. , 0. , 0. ]])
Post propagation dump, shows incorrect space domain:
2016-08-26 11:47:51.287 INFO [1140577] [OPropagator::downloadEvent@391] OPropagator::downloadEvent DONE
2016-08-26 11:47:51.287 INFO [1140577] [OpticksDomain::dump@145] OEngineImp::saveEvt dumpDomains
space_domain 0.0000,0.0000,0.0000,1000.0000
time_domain 0.0000,200.0000,50.0000,0.0000
wavelength_domain 60.0000,820.0000,20.0000,760.0000
Where space domain comes from:
simon:optickscore blyth$ opticks-find \>setSpaceDomain
./cfg4/CG4.cc: m_opticks->setSpaceDomain(ce);
./cfg4/CG4.cc: m_evt->setSpaceDomain(m_opticks->getSpaceDomain());
./optickscore/Opticks.cc: evt->setSpaceDomain(getSpaceDomain()); // default, will be updated in App:registerGeometry following geometry loading
./optickscore/OpticksEvent.cc: m_domain->setSpaceDomain(space_domain) ;
./opticksgeo/OpticksGeometry.cc: m_opticks->setSpaceDomain( glm::vec4(ce0.x,ce0.y,ce0.z,ce0.w) );
./opticksgeo/OpticksHub.cc: m_evt->setSpaceDomain(m_opticks->getSpaceDomain());
On loading geometry gf
[OpticksGeometry::registerGeometry@344] OpticksGeometry::registerGeometry setting opticks SpaceDomain : x -16520 y -802110 z -7125 w 7710.56
Domains reside in too many places