Logical node is not the same as the geometrical node
Recently we noticed that there are cases where the geometrical and logical nodes do not match. This produces crashes when you try to get model properties from a point for example, which in principle should contain information but it is actually a null pointer.
An exception can be easily added in the Cascade.inl file like so:
auto const* currentLogicalNode = particle.getNode();
auto const currentGeometricalNode = environment_.getUniverse()->getContainingNode(particle.getPosition());
if (currentLogicalNode != currentGeometricalNode) {
throw std::runtime_error("nodes do not match");
}