Implementing a Time to Amplitude Converter (TAC) in Geant4?

Hello everyone,

I am trying to model a TAC(Time to Amplitude converter) using my UserStepping.cc.

The idea is that I want to get the time difference between the detection of two specific gammas emitted from radioactive decay G4 ion which is in coincidence.
I am thinking of starting a timer as soon as fEdep == gamma1 and stopping it as soon as fEdep == gamma2, finally returning the time elapse. Also, it will be great if we scan for the second gamma (E2) only in a small time cutoff after detecting the first.

Can someone please share any suggestions on how to go about this or alternate approaches to achieving the same? Are there any relevant geant4 examples for the same?

PS: I am trying to not use Get->GlobalTIme() due to “issues” in getting the time of flight when the half-life is in order of several years.

Thanks a ton!

I’m not sure what examples there are for this. The basic idea is that you define a Digitizer process, which is registered by your SD. That Digitizer will be run by Geant4 automatically after all the tracking is completed. Your SD should fill a HitsCollection with the collected “truth” data you want. Your Digitizer will process that same HitsCollection, and produce output (a “DigiCollection”) corresponding to what your readout electronic would have done.

1 Like

Right! When you’re dealing with radioisotopes, you can use GetLocalTime() instead. That gives you the time delay only since the track was created, e.g., since the radioactive decay happened.

1 Like