What are meanings of the parameters?

the codes are from “Book For Application Developers”, at page 245:

//Liquid Xenon
fLXe = new G4Material(“LXe”,z=54.,a=131.29g/mole,density=3.020g/cm3);
std::vector lxe_Energy = {7.0eV, 7.07eV, 7.14*eV};
std::vector lxe_SCINT = {0.1, 1.0, 0.1};
std::vector lxe_RIND = {1.59, 1.57, 1.54};
std::vector lxe_ABSL = {35.*cm, 35.*cm, 35.*cm};
fLXe_mt = new G4MaterialPropertiesTable();
fLXe_mt->AddProperty(“SCINTILLATIONCOMPONENT1”, lxe_Energy, lxe_SCINT);
fLXe_mt->AddProperty(“SCINTILLATIONCOMPONENT2”, lxe_Energy, lxe_SCINT);
fLXe_mt->AddProperty(“RINDEX”, lxe_Energy, lxe_RIND);
fLXe_mt->AddProperty(“ABSLENGTH”, lxe_Energy, lxe_ABSL);
fLXe_mt->AddConstProperty(“SCINTILLATIONYIELD”, 12000./MeV);
fLXe_mt->AddConstProperty(“RESOLUTIONSCALE”, 1.0);
fLXe_mt->AddConstProperty(“SCINTILLATIONTIMECONSTANT1”, 20.*ns);
fLXe_mt->AddConstProperty(“SCINTILLATIONTIMECONSTANT2”, 45.ns);
fLXe_mt->AddConstProperty(“SCINTILLATIONYIELD1”, 1.0);
fLXe_mt->AddConstProperty(“SCINTILLATIONYIELD2”, 0.0);
fLXe->SetMaterialPropertiesTable(fLXe_mt);
// Set the Birks Constant for the LXe scintillator
fLXe->GetIonisation()->SetBirksConstant(0.126
mm/MeV);

here “fLXe_mt->AddProperty(“SCINTILLATIONCOMPONENT1”, lxe_Energy, lxe_SCINT);” is used to specify the spectrum of scintillation?
what exact meanings of the parameters of {0.1, 1.0, 0.1} from std::vector lxe_SCINT = {0.1, 1.0, 0.1};

Yes.

Together with lxe_Energy it’s used to define the emission spectrum. There’s a trapezoidal rule calculation done by the code to get the actual spectrum:

https://geant4.kek.jp/lxr/source/processes/electromagnetic/xrays/src/G4Scintillation.cc#L201

I don’t know why this is done.

Few doubts, adding to above question.

  1. fLXe_mt->AddProperty(“SCINTILLATIONCOMPONENT1”, lxe_Energy, lxe_SCINT); fLXe_mt->AddProperty(“FASTCOMPONENT”,lxe_Energy, lxe_SCINT); etc…
    So what are the component are essential? Struggling with such simulation I find it “FASTCOMPONENT” is important one but still not clear what to feed in. As from manufacturer of most of scintillator we do not get information regarding “FAST” or “SLOW” component.

  2. How is it possible to feed particle type and their kinetic energy dependent “SCINTILLATIONYIELD” into simulation. if take case of electron and alpha. “SCINTILLATIONYIELD” due to electron is linear with its kinetic energy (>100 keV) while alpha is non linear.below picture it can be seen .

It’s hard to answer such an abstract question. Let’s try to make it more concrete. Are there multiple time constants for your material? Are you trying to distinguish between particles based on time, or do you otherwise care when a scintillation is created? If not, there is only one component. In either case, if you are using 10.7, I suggest using the enhanced time constants (this will be the only option in version 11).
/process/optical/scintillation/setEnhancedTimeConstants true
Somehow you need to figure out what you want the spectrum of emitted photons to be. This is SCINTILLATIONCOMPONENT1. If there is only one time constant, there’s no SCINTILLATIONCOMPONENT2.

For the yield, when using particle specific yields, you will need to specify the energy-dependent yield vector which is the integral of these curves. For e-, just two data points should work: one is (Energy=0, yield=0), and the other something like (E=100 MeV, yield = 10000*100)

Let me know your followup questions.

I know these represent the spectrums, what exactly is the spectrum?

Currently I am using Scintillator have single time constant. So thats not a problem, lets take example of BC-400 or EJ-214 or something commercially available plastic scintillator. These will be no problem with emission spectra which is easily available but what about “FAST” and " SLOW" components.

For the yield, when using particle specific yields, you will need to specify the energy-dependent yield vector which is the integral of these curves. For e-, just two data points should work: one is (Energy=0, yield=0), and the other something like (E=100 MeV, yield = 10000100)*

May be I am still not very clear. control of scintillation yield is with two parameter. (i) Scintillation yield, where is do not relate to particle type or its energy. (ii) Other is ScintillationYieldFactor in physics list. but there only particle type can be specified.
There exist other parameter such as ELECTRONSCINTILLATIONYIELD, ALPHASCINTILLATIONYIELD, IONSCINTILLATIONYIELS etc but I havent see any effective changes after feeding these parameter.As you say about about two data point for electron, I guess for electron is not that problem as it is constant with energy for e.g. for electron I can simply define
fLXe_mt->AddConstProperty(“SCINTILLATIONYIELD”, 10000./MeV);
Problem is for other charge particles.

I know these represent the spectrums, what exactly is the spectrum?

Maybe your question is not very clear to me but If I understand correctly above attached spectrum.
That spectrum Scintillation or Photon emission as function of particle kinetic energy in BC-400 type scintllator.

The spectrum describes the energy of the optical photons produced by the scintillation process.

Because you only have one time constant, there’s only one component. It doesn’t matter if you call it FAST or SLOW. Just use the same choice for all the parameters (FASTCOMPONENT, FASTTIMECONSTANT…)

Sorry, this comment is pretty vague. Do you set the parameter for scintillation by particle type? These parameters control the yield for the different types of primary particle (the one generating the scintillation photons). If you don’t have any ions, for instance, the IONSCINTILLATIONYIELD won’t have any effect.

Please, have a look at example extended/optical/OpNovice2, macro scint_by_particle.mac.

1 Like