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.
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())