Weird, IC2:C-D does nothing? Yikes, C9 is a destructive spark waiting to happen!
Haha, British style has been used on the resistors ("2k7") but nothing else (".1" -- the dreaded decimal, instead of "0u1"; "12.5VAC" instead of "12V5"). Except R38, heck 'em I guess?

4-way crossings all over, too, and it looks like it even hit them (assuming IC2 has a mistake)!
Poor regulator (7812) having to witness ~4A load pulses. Guess that's what the C13 is there for. Poor regulator, having to charge a cap that size...

C10+R40 doesn't do much if anything, because D4 shorts out the solenoid during turn-off. Which makes it turn off as slow as possible. Hmm. Do they only want sharp rising-edge gas pulses? (Is it dumping from a small accumulator, instead of a gas regulator?)
They've got a tonne of capacitance on the hot side (C11), but don't use it -- the regulated output voltage supplies charging resistors that supply relatively small capacitors that supply the solenoid. (Which, if C2-C4 are well discharged by the solenoid, D4 could at least return to +400V instead, but they chose not to for some reason.)
As for the regulator, the compensation is difficult because it's a circuitous loop: IC1 is... hrm, not just followed by Q1, is that done for range limiting as well? Then Q2 inverts it, then Q4-Q6-Q5 (what, they're out of order, haha, but R11-R13 are in order?) inverts it
again -- the problem is each inverting stage adds considerable phase shift near cutoff. And with no static load, the outputs' cutoff varies with operating point, making it just that much harder. Q2 seems to have the dominant pole compensation (R42 + C15), a pretty substantial impedance.
With no feedback path local to IC1, yeah, it's very likely to oscillate, in fact guaranteed to at some point, as you increase GBW. It would seem IC1 has to be slower than the output transistors at least.
I would redesign the output side to do a couple things:
- We already have a switch in here; why not use it for double duty?
- We can get rid of the pulse capacitors if we make the switch rated for peak current.
- All the low side stuff is easily done from one supply (5V say) and at a fraction of the current; a small offline DC supply will do (a 1W switching module say).
- The 240V isolation transformer is probably a good idea to leave in. It's dumb and easy, it's not terrifically expensive, and SMPS with HV outputs tend to be specialty. And if we need the energy storage anyway, the filter cap is fine.
The pulsed regulator would then be much like shown, but rearranged for low side operation (driving the equivalent of Q11). VR1's top end would be pulsed, so that the regulator setpoint sits at 0V for most of the time but can be triggered, and then goes to the setpoint.
IC1 might be a TLV2371, or maybe something a bit faster. With everything running from 5V, we have free choice of fast, low power, and cheap amps.
A differential amplifier would probably be used, to sense the load voltage, which is now high-side referenced. Make that TLV2372 (dual).
We don't have to worry about two inverting stages cascaded, only the one (Q11 equivalent). This is easier to solve, and would probably take the same form, i.e. an R+C across drain to gate. The impedance would be larger (like 1k + 100pF for a ballpark guess?), allowing faster performance. Probably an emitter follower, or IC buffer, would still be needed to get the op-amp level up enough to drive the output transistor.
Transistor choice would be SuperJunction type. These are fast and affordable, the dominant high voltage type on the market today. They offer wide SOA, despite their high power densities. FQA9N90C-F109 is a good example, having a high power dissipation-per-dollar value.
Ca. 10V would be desirable for gate drive, so I might be a bit hasty in declaring 5V the new standard. We could use a 12V supply and CD4000 logic -- it's older than this circuit I guarantee, but still around and still just as useful. If a 5V logic input is required, we could still add a transistor or something to hack it in (a discrete TTL input stage, basically), or a comparator for even better accuracy.
Otherwise, 5V would be just usable with a logic-level MOSFET, but these are rarely found in high voltage ratings, and may not have wide SOA ratings either.
Finally, the snubber can still be a clamp diode, or if greater turn-off speed is desired, a diode into a TVS. UF5408 and 1.5KE200A for example. Or SMT equivalents.
An R+C may still be desirable across the output, but more for compensation than damping -- having a load impedance for the regulator to switch into,
Overall, the regulator should be able to turn on in a few 10s of microseconds, which seems comparable to what's shown here. Faster components can run it hotter, but I would be a bit leery of having to tune something for single microseconds or less (I'd at least want to budget some extra project time to do that).
And since we're doing a real time setpoint, if the peak-maintained signal (from the discharge caps and resistors) is required, we can simply drive VR1 with a waveform of the same shape. Which can be created in much the same way (RC networks), using the switches that drive it.
To wrap up a few things: a digital logic isolator can be used to communicate the trigger signal, if isolation is desirable; at worst, this can be either a self-powered integrated isolator (e.g. ADUMxxxx), or an optoisolator (e.g. SFH6345) with a small DC-DC converter to bias the isolated side. Assuming the open-collector trigger capability is a requirement. Fusing is already shown on the primary side, but additional fusing may be a good idea to the output; this must be DC rated (500VDC is a typical rating), and should have a small I^2t rating so that the filter cap doesn't utterly obliterate the victim (if the power transistor happens to be it, this won't save it by any means; it's more of a damage-control measure, so its plastic case doesn't become a plasma-driven shrapnel grenade). If using an SMPS module for power, take care to filter it, potentially both input and output; they can be rather noisy, even the ones with onboard filtering (the smallest and cheapest modules don't even have that!).
Tim