I found a way to do this using translucency and some node tricks to make the tube emit light when it is under the ball, it isn't perfect but it works fairly well.
First give the ball a pure white transparent shader mixed with a translucent shader based on the is camera ray output of the light path node:
This will make the ball invisible to everything but the camera, this isn't necessary but will reduce noise, artifacts, and rendering time.
Next give the tubes a diffuse shader mixed with an emission shader (with a very high strength) based on the is transmission ray output of the light path node and plug the vertex colors into both the diffuse and emission shaders:
This will make the tube emit light when a ray is traveling through an object (such as a translucent object), but the tube will look like normal (the diffuse shader) elsewhere.
This is the result: