Message: Reflection Occurring Between Incorrect Volumes Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Reflection Occurring Between Incorrect Volumes 

Forum: Processes Involving Optical Photons
Date: 18 Jul, 2014
From: Nick Calvert <Nick Calvert>


I have been having a bit of a weird problem. I have a reasonably simple simulation, consisting of a beam of incoming gammas incident upon a cylindrical or box scintillator. The scintillator is attached to a photocathode (a thin cylinder of glass).

I have a number of different scintillation materials defined, so that I can change materials between runs, rather than recompiling each time. I also change the dimensions of the scintillator and photocathode between runs using the messenger class.

The scintillator has a reflective surface defined as a G4LogicalBorderSurface between the scintillator and the world. This is defined as:

    OpSurface = new G4OpticalSurface("PlasticFoil");
    OpSurface -> SetType(dielectric_metal);
    OpSurface -> SetFinish(polished);
    OpSurface -> SetModel(unified);
    OpSurfaceProperty = new G4MaterialPropertiesTable();
    aluentries = 206;    
    OpSurfaceProperty -> AddProperty("REALRINDEX",aluenergy,alurealrefractiveindex,aluentries);
    OpSurfaceProperty -> AddProperty("IMAGINARYRINDEX",aluenergy,aluimagrefractiveindex,aluentries);
    OpSurface -> SetMaterialPropertiesTable(OpSurfaceProperty);
    Surface = new G4LogicalBorderSurface("PlasticFoilSkin",physiplasticScint,physiWorld,OpSurface);   

The energies and refractive indices are read in from files. This appears to be working well, as when I Dump the Tables the values match up to the values in the files.

What I am seeing is that my first run (even if I change the dimensions of the scintillator/photocathode) appears to work fine. The optical photons reflect inside of the scintillator before they are absorbed or they finish their track in the photocathode (which has no reflective surface).

If I repeat the exact same commands again (or try to change the geometry for that matter) I do not see what I am expecting to see. I now do not get any optical photons entering the photocathode, the optical photons reflect off this surface and just continue to reflect around the scintillator.

Turing on the tracking verbose using:

/tracking/verbose 1

I see that the optical photons are reaching the boundary between the scintillator and photocathode, however they then undergo Transportation back in to the scintillator. Like this:

G4WT0 > *********************************************************************************************************
G4WT0 > * G4Track Information:   Particle = opticalphoton,   Track ID = 3422,   Parent ID = 2300
G4WT0 > *********************************************************************************************************
G4WT0 > 
G4WT0 > Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
G4WT0 >     0      8.5     6.56   -0.804   2.5e-06        0        0         0 PlasticScint initStep
G4WT0 >     1     12.3     2.46    -4.98   2.5e-06        0     6.96      6.96       World Transportation
G4WT0 >     2     12.3     2.46    -4.98   2.5e-06        0        0      6.96 PlasticScint Transportation
G4WT0 >     3     9.99    -3.84      -10   2.5e-06        0     8.37      15.3 Photocathode Transportation
G4WT0 >     4     9.99    -3.84      -10   2.5e-06        0        0      15.3 PlasticScint Transportation

If I comment out the G4LogicalBorderSurface the simulations appear to work as expected, and the optical photons enter the photocathode.

I am not sure what is going wrong and I was wondering if anyone could help?

I have attached my

Cheers, Nick


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

1 Feedback: Re: Reflection Occurring Between Incorrect Volumes   (Gumplinger Peter - 18 Jul, 2014)
(_ Ok: Re: Reflection Occurring Between Incorrect Volumes   (Nick Calvert - 19 Jul, 2014)
 Add Message Add Message
to: "Reflection Occurring Between Incorrect Volumes"

 Subscribe Subscribe

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