added angle conversion theta/q
This commit is contained in:
		
							parent
							
								
									eab1bcdb26
								
							
						
					
					
						commit
						a95b0aa10e
					
				| 
						 | 
					@ -216,3 +216,27 @@ def reshapeToBroadcast(what,ref):
 | 
				
			||||||
  shape  = [ref.shape[0],] + [1,]*(ref.ndim-1)
 | 
					  shape  = [ref.shape[0],] + [1,]*(ref.ndim-1)
 | 
				
			||||||
  return what.reshape(shape)
 | 
					  return what.reshape(shape)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def radToQ(theta,**kw):
 | 
				
			||||||
 | 
					  """ theta is the scattering angle (theta_out - theta_in);
 | 
				
			||||||
 | 
					      kw should be have either E or wavelength
 | 
				
			||||||
 | 
					      it returns the scattering vector in the units of wavelength """
 | 
				
			||||||
 | 
					  # Energy or wavelength should be in kw
 | 
				
			||||||
 | 
					  assert "E" in kw or "wavelength" in kw
 | 
				
			||||||
 | 
					  # but not both
 | 
				
			||||||
 | 
					  assert not ("E" in kw and "wavelength" in kw)
 | 
				
			||||||
 | 
					  if "E" in kw: kw["wavelength"] = 12.398/kw["E"]
 | 
				
			||||||
 | 
					  return 4*np.pi/kw["wavelength"]*np.sin(theta)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def degToQ(theta,**kw):
 | 
				
			||||||
 | 
					  theta = theta/180.*np.pi
 | 
				
			||||||
 | 
					  return radToQ(theta,**kw)
 | 
				
			||||||
 | 
					degToQ.__doc__ = radToQ.__doc__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def qToTheta(q,**kw):
 | 
				
			||||||
 | 
					  """ Return scattering angle from q (given E or wavelength) """
 | 
				
			||||||
 | 
					  # Energy or wavelength should be in kw
 | 
				
			||||||
 | 
					  assert "E" in kw or "wavelength" in kw
 | 
				
			||||||
 | 
					  # but not both
 | 
				
			||||||
 | 
					  assert not ("E" in kw and "wavelength" in kw)
 | 
				
			||||||
 | 
					  if "E" in kw: kw["wavelength"] = 12.398/kw["E"]
 | 
				
			||||||
 | 
					  return np.arcsin(q*kw["wavelength"]/4/np.pi)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue