fix 3D laser bug
add if in current solver