From e4ea02720991b5e923e0b7b1045709aff0d6b0c0 Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Wed, 5 Oct 2011 17:37:26 -0400 Subject: Epic port of Chroma from units of meters/seconds/MeV to millimeters/nanoseconds/MeV in order to match GEANT4, and also avoid huge discrepancies in magnitude caused by values like 10e-9 sec. Along the way, cleaned up a few things: * Switch the PI and SPEED_OF_LIGHT constants from double to single precision. This avoid some unnecessary double precision calculations in the GPU code. * Fixed a silly problem in the definition of the spherical spiral. Now the demo detector looks totally awesome. Also wrapped it in a black surface. Demo detector now has 10055 PMTs. * Updated the test_ray_intersection data file to reflect the new units. * Fix a missing import in chroma.gpu.tools --- src/G4chroma.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/G4chroma.cc b/src/G4chroma.cc index 340cc4c..c0817a1 100644 --- a/src/G4chroma.cc +++ b/src/G4chroma.cc @@ -107,11 +107,11 @@ void PhotonTrackingAction::PreUserTrackingAction(const G4Track *track) { G4ParticleDefinition *particle = track->GetDefinition(); if (particle->GetParticleName() == "opticalphoton") { - pos.push_back(track->GetPosition()/m); + pos.push_back(track->GetPosition()/mm); dir.push_back(track->GetMomentumDirection()); pol.push_back(track->GetPolarization()); wavelength.push_back( (h_Planck * c_light / track->GetKineticEnergy()) / nanometer ); - t0.push_back(track->GetGlobalTime() / s); + t0.push_back(track->GetGlobalTime() / ns); const_cast(track)->SetTrackStatus(fStopAndKill); } } -- cgit