FIXED : Invisible Propagation ================================== Fix ---- 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. Issue ------- 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: * material and flag indices look normal, so the propagation actually happened OK * furthermore the "Photon Flag Selection" works so nothing fundamentally wrong with the OpenGL photon buffer * animation time is stuck at zero, probably a domain issue 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 * Opticks * OpticksEvent * Composition