Wavelength shifting in fiber (absorption length)

Dear Geant4 users,

I have a problem which concerns optical wavelength shifting simulation in fiber. I cannot understand how it is rigth to set an absorption length for fiber. I want to set this length to 217 cm for example (let’s assume it does’t depend on wave of comming photons). So when I did the following (below), that works fine, but the absorption length is not right.

Code

G4double PhotonEnergy_PS_ABS[nEntries_PS_1] = {3.539eV, 3.477eV, 3.340eV, 3.321eV, 3.291eV, 3.214eV, 3.162eV, 3.129eV, 3.091eV, 3.086eV, 3.049eV, 3.008eV, 2.982eV, 2.958eV, 2.928eV, 2.905eV, 2.895eV, 2.890eV, 2.858eV, 2.813eV, 2.774eV, 2.765eV, 2.752eV, 2.748eV, 2.739eV, 2.735eV, 2.731eV, 2.723eV, 2.719eV, 2.698eV, 2.674eV, 2.626eV, 2.610eV, 2.583eV, 2.556eV, 2.530eV, 2.505eV, 2.480eV, 2.455eV, 2.431eV, 2.407eV, 2.384eV };

G4double RIndexFiber_PS[nEntries_PS_1] = {1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59, 1.59};

G4double AbsFiber_PS[nEntries_PS_1] = {0.28cm, 0.28cm, 0.26cm, 0.25cm, 0.24cm, 0.21cm, 0.19cm, 0.16cm, 0.13cm, 0.13cm, 0.14cm, 0.11cm, 0.08cm, 0.05cm, 0.02cm, 0.05cm, 0.08cm, 0.10cm, 0.13cm, 0.10cm, 0.08cm, 0.07cm, 0.08cm, 0.11cm, 0.13cm, 0.16cm, 0.19cm, 0.21cm, 0.24cm, 0.27cm, 0.30cm, 2.69cm, 3.49cm, 3.99cm, 5.00cm, 8.6cm, 11.6cm, 23.1cm, 55cm, 93cm, 317cm, 494cm};

G4double PhotonEnergy_PS_EM[nEntries_PS] = {2.69eV, 2.67eV, 2.66eV, 2.64eV, 2.63eV, 2.61eV, 2.58eV, 2.56eV, 2.55eV, 2.53eV, 2.50eV, 2.48eV, 2.46eV, 2.45eV, 2.44eV, 2.43eV, 2.41eV, 2.37eV, 2.33eV, 2.25eV, 2.24eV, 2.19eV, 2.15eV, 2.08eV };

G4double EmissionFiber_PS[nEntries_PS] = {0, 0.02, 0.09, 0.20, 0.29, 0.40, 0.59, 0.70, 0.80, 0.89, 1.00, 0.96, 0.88, 0.79, 0.69, 0.59, 0.50, 0.40, 0.31, 0.22, 0.19, 0.10, 0.06, 0};

But when I change AbsFiber_PS to:

Changed AbsFiber_PS

G4double AbsFiber_PS[nEntries_PS_1] = {217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm, 217cm};

there is no wavelength shigting at all. Don’t understand why? So, could someone please tell how to set absorption length in fiber to 217 cm for example in right way?

Thank you in advance!

First of all ty to add “*” between value and unit. It appears to me that you have huge emittance and absorbance overlay from the first view.

matus

Thank you for your reply. Actually I have *. That came from copy and past. In source code everything sis ok.

The problem was solved.

Hi! Could you please mention what solved your problem? I am having the same issue.

Hi! That was some time ago and I am not sure that is exactly what helped me. So you have two spectrum, the first is absorbed spectrum, the second is emitted spectrum (shifted). For wavelength range of absorbed spectrum you need to set small absorption length so that your fiber’s diameter small and photons needed to be absorbed. And for wavelength range of emitted spectrum you need to set absorption length you want.
So you need something like this:

G4double AbsFiber_PS[nEntries_PS_1] = {0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, 0.01cm, 0.01 cm, [for example from that point of wavelength emitted spectrum starts] 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm, 217cm, 217 cm};

Hi! My problem was I didn’t add OpWLS process in the physics list, which was very silly. But also, this suggestion was very helpful while designing the material. Thank you!