Problem 218 - Gamma velocity == optical photon velocity == c/n_min
Summary: Gamma velocity == optical photon velocity == c/n_min
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: track (show other problems)
Version: other
Hardware: PC Linux
: P2 normal
Assignee: kurasige
URL:
Depends on:
Blocks:
 
Reported: 2001-02-16 12:20 CET by gas
Modified: 2001-02-17 04:04 CET (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
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())