every process should maybe have a 'key' to split detector/accelerator stuff
this is I guess a standard map reduce thing I ditched, but here's what I'm thinking:
"accelerator" is the key and the JSON datastructure gets passed
"detector" is the key and the JSOn datastructure gets passed
but each processor looks at the key to see if it should process it. The accelerator one will either cache the value if the geometry hasn't changed or only spit out something once.