20 millivolts out of 30 volts is 667ppm so accuracy over temperature is going to be a problem.
That'd be 1200ppm, since +-20 is fine. Could probably push it a bit further, maybe +-40-50mV, but with higher drift the gain might become an issue.
A charge amplifier removes the requirement for high bandwidth as long as fast response is not required so supply current can be very low.
I'm estimating that the maximum count rate will be around 2-5kHz for really high radiation fields on such a small crystal(several mSv/hr), so it may be an option worth exploring.
Ultra-low-power boost converter like MAX17220 with a cascode MOSFET
The On Semiconductor SiPMs with fast outputs look interesting too, no need for signal processing to detect multiple events close together.
A cascode setup would require quite a serious supply voltage and current to swing an external mosfet, which is outlined in that article, so I'd probably need another boost just to supply this boost...
You can see the OnSemi(formerly SensL) SiPM in that video, though using the regular output. The fast output is only really useful for single-photon counting applications, here we're counting thousands to millions of photons(depending on particle energy) as an analog signal(see below).
Does pulse height actually mean anything useful though? The number of optical photons per high energy photon depend on the energy, which is an unknown. AFAICS pulse height is either irrelevant or constant (if the SiPM is saturated).
Yes, it does. The SiPM is never saturated, as the only purpose of a SiPM is to
not get saturated, by multiplying the number of mini-SAPDs(Which
do get saturated, but there's thousands of them and some do, some don't. It's sort of like an R2R DAC in that regard.).
The output is directly(and mostly linearly) proportional to the energy of the incoming particle. Thus, you can do spectroscopy in a tiny package.
However, for this low-power version I explicitly
don't need spectroscopy(or could have a second circuit that can be put to sleep when not in alarm mode), and I'd like to use the SiPM in a saturation-like mode, with just a simple digital output after a certain energy threshold.
SiPMs are not clean - they can have several MHz of self-count rate, but the pulse heights are generally a very small number of SAPDs firing, so it's usually much lower than actual photon amplification signals, so a basic height discriminator cuts off garbage below the ~10keV(equivalent-ish with a CsI:Tl crystal) level, which is not very useful regardless.
You can see that self-counting noise in the video linked above. It's just below the useful scintillation signal.