Message: Track stuck with LUT surface model Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Track stuck with LUT surface model 

Forum: Geometry
Date: 19 Jun, 2014
From: Felix Liang <Felix Liang>

Dear Geant4 Experts,

I am building a code to simulate a NaI(Tl) detector. The NaI
scintillator is a cylinder with 25.4 mm in diameter and 25.4 mm long. I have
questions concerning the description of the surface properties. I use
"groundteflonair" from the Look-Up-Table to specify the surface treatment
because the scintillator surfaces are rough and wrapped with Teflon tape.

(1) Do I need to create a MaterialPropertiesTable to include RINDEX,
    EFFICIENCY, and REFLECTIVITY when I use the LUT method?

(2) When I ran the code, the warning message "Track stuck or not moving"
    kept scrolling on the computer screen. I calculated the location of the
    points where they are stuck. They were all on the cylindrical surface.
    The scintillator was constructed with

    G4Tubs* tubsCrystal =
      new G4Tubs("tubsCrystal", 0, fCrystal_x/2.,
                 fCrystal_z/2.,0.*deg,360.*deg);
    scint_logV =
      new G4LogicalVolume(tubsCrystal,NaI,"ScintLogV",0,0,0);

    Did I miss something for using the LUT method?

    However, when I switched to use the UNIFIED model for the surface
    properties, the warning message "Track stuck or not moving" disappeared
    completely. I did not change anything else in the scintillator
    construction when I switched from the LUT to the UNIFIED model.

    Here are the codes for using the LUT model and the UNIFIED model.

   ---------- LUT ----------

  G4OpticalSurface* opCrystalSurface = new G4OpticalSurface("CrystalSurface");
  opCrystalSurface->SetType(dielectric_LUT);
  opCrystalSurface->SetFinish(groundteflonair);
  opCrystalSurface->SetModel(LUT);
  G4LogicalBorderSurface* bSurface =
    new G4LogicalBorderSurface("CrystalSurface",scint_physV,
                             lightBox_physV,opCrystalSurface);


  ---------- UNIFIED ----------
  G4OpticalSurface* opCrystalSurface = new G4OpticalSurface("CrystalSurface");
  G4LogicalBorderSurface* bSurface =
    new G4LogicalBorderSurface("CrystalSurface",scint_physV,
                             lightBox_physV,opCrystalSurface);

  G4double sigma_alpha = 12.00*degree;
  opCrystalSurface -> SetType(dielectric_dielectric);
  opCrystalSurface -> SetModel(unified);
  opCrystalSurface -> SetFinish(groundbackpainted);
  opCrystalSurface -> SetSigmaAlpha(sigma_alpha);

  const G4int NUM = 2;
  G4double pp[NUM] = {2.038*eV, 4.144*eV};
  G4double specularlobe[NUM] = {1.0, 1.0};
  G4double rindex[NUM] = {1.0, 1.0};
  G4double reflectivity[NUM] = {0.99, 0.99};
  G4double efficiency[NUM] = {0.0, 0.0};

  G4MaterialPropertiesTable* SMPT = new G4MaterialPropertiesTable();
  SMPT -> AddProperty("RINDEX",pp,rindex,NUM);
  SMPT -> AddProperty("SPECULARLOBECONSTANT",pp,specularlobe,NUM);
  SMPT -> AddProperty("REFLECTIVITY",pp,reflectivity,NUM);
  SMPT -> AddProperty("EFFICIENCY",pp,efficiency,NUM);
  opCrystalSurface -> SetMaterialPropertiesTable(SMPT);

  ----------

Your help is very much appreciated.

Best regards,

Felix Liang  

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

1 Feedback: Re: Track stuck with LUT surface model   (Gumplinger Peter - 02 Jul, 2014)
 Add Message Add Message
to: "Track stuck with LUT surface model"

 Subscribe Subscribe

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


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]