Problem 270

Summary: problem in low energy neutron elastic scattering
Product: Geant4 Reporter: jpinto
Component: processes/hadronic/modelsAssignee: Hans-Peter.Wellisch
Status: CLOSED FIXED    
Severity: normal    
Priority: P2    
Version: 3.1   
Hardware: PC   
OS: Linux   

Description jpinto 2001-06-30 09:19:21 CEST
Hello,

I am using geant4.31 with the neutron_hp model to simulate low
energy neutron scattering in matter.

The angular distribution for elastic scattering shows a dependency on
the direction of the impinging neutron, which obviously is meaningless.

This problem can be traced back to the calculus of the momentum of the
neutron in the C. M. system.

I solved the problem by introducing the following lines of code in the
method G4ParticleChange * G4NeutronHPElasticFS::ApplyYourself()

//(replacing the line (line number 194):
//G4ThreeVector tempVector(en*sinth*cos(phi), en*sinth*sin(phi), en*cos(th
eta) );
//

//...
      G4ThreeVector np=theNeutron.GetMomentum();
      G4double vartheta=np.theta();
      G4double varphi=np.phi();
      G4ThreeVector tempVector;
      tempVector.setX(cos(theta)*sin(vartheta)*cos(varphi)
                      +sin(theta)*cos(phi)*cos(vartheta)*cos(varphi)
                      -sin(theta)*sin(phi)*sin(varphi)  );
      tempVector.setY(cos(theta)*sin(vartheta)*sin(varphi)
                      +sin(theta)*cos(phi)*cos(vartheta)*sin(varphi)
                      +sin(theta)*sin(phi)*cos(varphi)  );
      tempVector.setZ(cos(theta)*cos(vartheta)
                      -sin(theta)*cos(phi)*sin(vartheta)  );
      tempVector *= en;

      //G4ThreeVector tempVector(en*sinth*cos(phi), en*sinth*sin(phi), en*cos(th
eta) );


//...



I believe the effect of this change ought to be visible in the angular
distributions of neutrons whenever the initial direction
is not along the z axis, in each collision.

Thanks.

Cheers,
jose' pinto da cunha
Comment 1 Hans-Peter.Wellisch 2001-11-26 10:27:59 CET
as it turns out, your fix was not completely correct, but the difference is of
small practical consequence. Using the momentum of CMS to define the prefered
direction (rather tham neutron direction) is the correct thing to do.

Fix will come with the next release.

Many greetings,

Hans-Peter.