The device have to react fast, within 20 microseconds and arduino's probably will do but I must not screwup with coding.
So the main question is; is the arduino platform capable?
React to what? Being hit with a sledgehammer? It will react to that, nearly instantaneously.
int rpm = 9000.0;
int angle = 30.0;
Clearly, you need to learn the difference between ints and floats.
attachInterrupt(0, inject1, RISING);
pinMode(cyl2, OUTPUT);
attachInterrupt(0, inject2, RISING);
pinMode(cyl3, OUTPUT);
attachInterrupt(0, inject3, RISING);
pinMode(cyl4, OUTPUT);
attachInterrupt(0, inject4, RISING);
After all this, interrupt 0 has inject4 assigned as the callback function. You might as well delete the others.
You can NOT call any form of delay in an interrupt service routine.