def testCompositeScatteringKernel(self): 'CompositeScatteringKernel' shape = mccompositebp.Block(1,1,1) from neutron_printer3 import cKernel as Printer printer = Printer( ) kernels = mccomponentsbp.pointer_vector_Kernel(0) kernels.append( printer ) weights = mccomponentsbp.vector_double(0) weights.append(1.) rotmats = mccomponentsbp.vector_rotmat(0) rotmat = mcnibp.RotationMatrix_double(1,0,0, 0,1,0, 0,0,1) rotmats.append(rotmat) average=False kernelcomposite = mccomponentsbp.CompositeScatteringKernel( kernels, weights, rotmats, average) mcweights = mccomponentsbp.MCWeights_AbsorptionScatteringTransmission() scatterer = mccomponentsbp.HomogeneousNeutronScatterer( shape, kernelcomposite, mcweights ) for i in range(10): ev = mcni.neutron( r = (0,0,-5), v = (0,0,1) ) scatterer.scatter(ev) continue return
def vector_rotmat(self): return binding.vector_rotmat(0)