Instead of doing a zillion linetraces and timelines, could just add a big collision sphere to player and use begin overlap to start the geiger.
Here I first check if overlapped actor has a radioactive tag, then add the actor to an array var. Next it starts a timer with event which checks the distance to the most recent rad source, does some sloppy math, and updates relative rotation of a needle mesh I attached to front of camera. Using a UI widget would probably be a better idea tho..
Finally when the large sphere ends overlap, I check if actor is in the rad source array and remove it:
Should probably also check here if array is empty, then clear timer and reset needle, but yea.
Edit to add: To add some drift/wobble to the needle just add a small random float in range just before feeding it to the select node in my example.