calculates powder averaged spin wave spectra spectra = POWSPEC(obj, hklA, 'Option1', Value1, ...) Input: obj sw class object. hklA Vector containing the Q values in inverse Angstrom where powder spectra will be calculated, dimensions are [1 nQ]. Options: nRand Number of random orientations per Q value, default is 100. Evect Vector, defined the energy transfer values for the convoluted output in units of meV, dimensions are [1 nE]. Default is linspace(0,1,100). T Temperature to calculate the Bose factor in units depending on the Boltzmann constant. Default is taken from obj.single_ion.T value. title Gives a title string to the simulation that is saved in the output. specfun Function handle of the spectrum calculation function. Default is @spinwave. extrap If true, arbitrary additional parameters are passed over to the spectrum calculation function. Output: 'spectra' is a struct type variable with the following fields: swConv The spectra convoluted with the dispersion. The center of the energy bins are stored in spectra.Evect. Dimensions are [nE nQ]. hklA Same Q values as the input hklA [1 nQ]. Evect Contains the input energy transfer values, dimensions are [1 nE]. param Contains all the input parameters. obj The copy of the input obj object. Example: tri = sw_model('triAF',1); E = linspace(0,3,100); Q = linspace(0,4,300); triSpec = tri.powspec(Q,'Evect',E,'nRand',1e3); sw_plotspec(triSpec); The example calculates the powder spectrum of the triangular lattice antiferromagnet (S=1, J=1) between Q = 0 and 3 A^-1 (the lattice parameter is 3 Angstrom). See also SW, SW.SPINWAVE, SW.OPTMAGSTR.