Scintillation dependent on particle type - how to implement?

Hello,

I am having some difficulty knowing how to implement scintillation dependent on particle type in my code. My scintillator has three decay time constants, but these differ depending on whether the interacting particle is a gamma or neutron. I have information from literature on the relative scintillation yields but am still unsure how to actually put this into my code - can anyone help?

Thank you.

1 Like

Hi,

You first have to enable particle type-dependent scintillation by:

G4OpticalParameters::Instance()->SetScintByParticleType(true);

You need a scintillation yield for each particle of interest (example following is for e- (due to gamma ray interaction) and p (neutron recoil) for NE213 - you can also do alphas, tritons and ions, if you have the spec sheet or literature data):

MPTNE213->AddProperty(“ELECTRONSCINTILLATIONYIELD”, particleEnergy, scintYieldElectron);
MPTNE213->AddProperty(“PROTONSCINTILLATIONYIELD”, particleEnergy, scintYieldProton);

In Geant4 you can have up to three decay constants, which are set by:

MPTNE213->AddConstProperty("SCINTILLATIONTIMECONSTANT1",3.16*ns);  // Eljen EJ-301 data sheet and St Gobain for BC-501A - fast component
MPTNE213->AddConstProperty("SCINTILLATIONTIMECONSTANT2",32.3*ns);  // slow component
MPTNE213->AddConstProperty("SCINTILLATIONTIMECONSTANT3",270.0*ns); // Eljen, St. Gobain both quote an additional very slow component at 270ns

The decay constant values are particle-independent, but their amplitude ratios vary by particle. The ratios are set by:

MPTNE213->AddConstProperty(“ELECTRONSCINTILLATIONYIELD1”,0.87); //Relative yield of component 1 for electrons
MPTNE213->AddConstProperty(“ELECTRONSCINTILLATIONYIELD2”,0.13); //Relative yield of component 2
MPTNE213->AddConstProperty(“ELECTRONSCINTILLATIONYIELD3”,0.001); //Relative yield of component 3

MPTNE213->AddConstProperty(“PROTONSCINTILLATIONYIELD1”,0.80); //Relative yield of component 1 for protons (estimate from literature)
MPTNE213->AddConstProperty(“PROTONSCINTILLATIONYIELD2”,0.20); //Relative yield of component 2
MPTNE213->AddConstProperty(“PROTONSCINTILLATIONYIELD3”,0.001); //Relative yield of component 3

The Book For Application Developers has a very good description of what all needs to be done Physics Processes — Book For Application Developers 11.0 documentation.

2 Likes

Thank you for your help.