Message: problems with optical photons Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question problems with optical photons 

Forum: Processes Involving Optical Photons
Date: 03 Nov, 2005
From: andreas battaglia <andreas.battaglia@roma1.infn.it>

Sorry, I've made a mistake with the previous message: it should be a question messagge!!!
Sorry again (I'm quite new in G4 forum ...)


Hi, I have some problems in simulating optical photon processes.

I'm trying to simulate a wrapped scintillator with double cladding WLS Fibers in it.
The boundaries world/wrapping and scintillator/fiber are described only giving the 
two refractive index of the corresponding materials (not with surfaces).
In my Physics List I have activated G4Scintillation and G4Cerenkov to create optical 
photons, and G4OpAbsorption, G4OpBoundary and G4OpWLS to describe them; note that I
have attached the WLS properties only to the fiber core material, not to the cladding 
materials.

The first problem is:
My gun shoots a 500MeV mu- wich produces about 500 scintillation optical
photons: 10% of these optical photons reach a fiber, but they don't cross
the fiber itself!!
To be more precise: if I take a look at the last step of an optical
photon, I see that the track volume is the scintillator, the track next
volume is the fiber and the step is limited by transportation.
So it seems to me that an optical photon is transported through the
scintillator, but when it reaches the fiber it isn't absorbed or
refracted or reflected but it only "dies" ?! 
The stepping output sounds like this:

*********************************************************************************************************
* G4Track Information:   Particle = opticalphoton,   Track ID = 167,   Parent ID = 1
*********************************************************************************************************

Step#      X         Y         Z        KineE    dEStep   StepLeng  TrakLeng    Volume  Next Volume     Process
    0     75 cm     25 cm  -1.52 mm   2.98 eV      0 eV      0 fm      0 fm    ScintCore ScintCore    initStep
    1   74.8 cm   25.2 cm    1.4 mm   2.98 eV      0 eV   3.74 mm   3.74 mm    ScintCore WLSFiberClad2  Transportation


I have the same problem when an optical photon reaches the boundary between the world and the wrapping;
here is an example:

*********************************************************************************************************
* G4Track Information:   Particle = opticalphoton,   Track ID = 178,   Parent ID = 1
*********************************************************************************************************

Step#      X         Y         Z        KineE    dEStep   StepLeng  TrakLeng    Volume  Next Volume     Process
    0     75 cm     25 cm  -1.61 mm   2.71 eV      0 eV      0 fm      0 fm    ScintCore ScintCore    initStep
 Photon at Boundary! 
 Old Momentum Direction: (-0.180298,0.0815424,0.980226)
 Old Polarization:       (0.918038,0.371726,0.137937)
 New Momentum Direction: (-0.187323,0.0847193,0.978638)
 New Polarization:       (0.917035,0.372168,0.143313)
 *** FresnelRefraction *** 
    1   74.9 cm     25 cm    2.4 mm   2.71 eV      0 eV   4.09 mm   4.09 mm    ScintCore ScintSlice  Transportation
    2   74.9 cm     25 cm    2.5 mm   2.71 eV      0 eV    102 mum  4.19 mm   ScintSlice     World  Transportation


The second problem is:
I have defined three optical photon energy spectra: one for the 
scintillation emission, one for the WLS Absorption and one for the WLS 
emission.
I get a lot of warnings like:

Warning: G4MaterialPropertyVector::GetProperty
==> attempt to Retrieve Property above range

or like:

Warning: G4MaterialPropertyVector::GetProperty
==> attempt to Retrieve Property below range

First I had the following energy spectra:

// Scintillator
  const G4int nEntriesScint = 12;
  G4double PhotonEnergyScint[nEntriesScint] =
    {      
      3.44*eV, 3.26*eV, 3.1*eV, 3.02*eV, 2.95*eV, 2.92*eV, 
      2.82*eV, 2.76*eV, 2.7*eV, 2.58*eV, 2.38*eV, 2.08*eV
    };  
  
// WLS Fiber Core Absorption
  const G4int nEntriesFiber1 = 42;
  G4double PhotonEnergyFiber1[nEntriesFiber1] =
    { 
      3.539*eV, 3.477*eV, 3.340*eV, 3.321*eV, 3.291*eV, 3.214*eV, 
      3.162*eV, 3.129*eV, 3.091*eV, 3.086*eV, 3.049*eV, 3.008*eV, 
      2.982*eV, 2.958*eV, 2.928*eV, 2.905*eV, 2.895*eV, 2.890*eV, 
      2.858*eV, 2.813*eV, 2.774*eV, 2.765*eV, 2.752*eV, 2.748*eV, 
      2.739*eV, 2.735*eV, 2.731*eV, 2.723*eV, 2.719*eV, 2.698*eV,
      2.674*eV, 2.626*eV, 2.610*eV, 2.583*eV, 2.556*eV, 2.530*eV, 
      2.505*eV, 2.480*eV, 2.455*eV, 2.431*eV, 2.407*eV, 2.384*eV 
    };          

// WLS Fiber Core Emission
  const G4int nEntriesFiber2= 24;
  G4double PhotonEnergyFiber2[nEntriesFiber2] =
    { 
      2.69*eV, 2.67*eV, 2.66*eV, 2.64*eV, 2.63*eV, 2.61*eV, 2.58*eV, 2.56*eV, 
      2.55*eV, 2.53*eV, 2.50*eV, 2.48*eV, 2.46*eV, 2.45*eV, 2.44*eV, 2.43*eV, 
      2.41*eV, 2.37*eV, 2.33*eV, 2.25*eV, 2.24*eV, 2.19*eV, 2.15*eV, 2.08*eV
    };     
 
Then I tried the following things:
- I matched all the ranges of the spectra: from 2.08 to 3.539 eV --> about the
same number of above range, less number of below range;
- I enlarged the ranges: from 1.51 to 3.91 eV --> less above and below range;
- I enlarged again: from 1 to 5 eV --> both above and below range number increases
really a lot (much more than the initial situation)!!!
- I returned to the initial situation, but I inactivated the WLS process --> about 
the same results of the initial try!                  

I have no idea how to solve this problems (the first seems very similar to the one posted 
by Vincent Clochard in date 8/6/2004); I studied the N06 example and I took a look at 
the Lxe extended example, but didn't get the solution.
Could you please help me?                                                                                       
Thanks a lot in advantage.
Andreas Battaglia

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

 Add Message Add Message
to: "problems with optical photons"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews