Problem 218

Summary: Gamma velocity == optical photon velocity == c/n_min
Product: Geant4 Reporter: gas
Component: trackAssignee: kurasige
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: other   
Hardware: PC   
OS: Linux   

Description gas 2001-02-16 12:20:09 CET
In comparing Geant4 and Geant3 simulations of KamLAND, we note that gammas in
the Geant4 simulation travel at 70% of the speed of light when in the
scintillator.  This is due to G4Track::GetVelocity().  In inspecting the source,
we have also discovered that the velocity dispersion of optical photons is
cancelled: all gammas and all opticalphotons travel at c_light / r_min, where
 r_min=
mat->GetMaterialPropertiesTable()->GetProperty("RINDEX")->GetMinProperty()

It is not possible to work around this by defining a unity RINDEX at some high
energy because optical photons would then travel at the speed of light, due to
the GetMinProperty() call.  Also, G4Cerenkov would get confused.

I would suggest that optical photons should propagate at the speed appropriate
to their energy, and gammas should propagate at the speed of light, independent
of "RINDEX".  The fix to G4Track::GetVelocity() is trivial.
Comment 1 kurasige 2001-02-17 04:04:59 CET
Fixed G4Track::GetVelocity and tagged as "track-V03-00-02"
Now
  Velocity of Gamma is always c_light
and
  Velocity of optical photon is c_light / r_index, where

  r_index = mat->GetMaterialPropertiesTable()->GetProperty("RINDEX")->
                GetProperty(fpDynamicParticle->GetTotalMomentum())