Problem 1919 - Lab and target rest frames in G4ParticleHPCaptureFS::ApplyYourself()
Summary: Lab and target rest frames in G4ParticleHPCaptureFS::ApplyYourself()
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/hadronic/models/neutron_hp (show other problems)
Version: 10.2
Hardware: All All
: P4 trivial
Assignee: dennis.herbert.wright
URL:
Depends on:
Blocks:
 
Reported: 2016-11-24 21:14 CET by Artem Zontikov
Modified: 2018-10-22 03:00 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Artem Zontikov 2016-11-24 21:14:03 CET
1. Here
http://www-geant4.kek.jp/lxr/source/processes/hadronic/models/particle_hp/src/G4ParticleHPCaptureFS.cc#L78
theNeutron.Lorentz(theNeutron, -1*theTarget);
Obviously, it should be
theNeutron.Lorentz(theNeutron, theTarget);

2. The same thing here
http://www-geant4.kek.jp/lxr/source/processes/hadronic/models/particle_hp/src/G4ParticleHPCaptureFS.cc#L182
thePhotons->operator[](i)->Lorentz(*(thePhotons->operator[](i)), theTarget);
should be put as
thePhotons->operator[](i)->Lorentz(*(thePhotons->operator[](i)), -1*theTarget);

Also, here
http://www-geant4.kek.jp/lxr/source/processes/hadronic/models/particle_hp/src/G4ParticleHPCaptureFS.cc#L75
theTarget.SetDefinition( G4IonTable::GetIonTable()->GetIon( G4int(theBaseZ), G4int(theBaseA) , 0.0 ) );
sets target kinetic energy to zero. It is better to use SetDefinitionAndUpdateE()-method instead.
Comment 1 dennis.herbert.wright 2018-10-22 03:00:38 CEST
Bug fixed as prescribed.