def gaussianPulse(t, FWHM, t0, P0 = 1.0, m = 1, C = 0):
	"""
	Geneate a gaussian/supergaussiance envelope pulse

		* field_amp: 	output gaussian pulse envellope (amplitude).
		* t:     		vector of times at which to compute u
		* t0:    		center of pulse (default = 0)
		* FWHM:   		full-width at half-intensity of pulse (default = 1)
		* P0:    		peak intensity of the pulse @ t=t0 (default = 1)
		* m:     		Gaussian order (default = 1)
		* C:     		chirp parameter (default = 0)
	"""

	t_zero = FWHM/sqrt(4.0*log(2.0))
	amp = sqrt(P0)
	real_exp_arg = -pow(((t-t0)/t_zero),2.0*m)/2.0
	euler1 = cos(-C*real_exp_arg)
	euler2 = sin(-C*real_exp_arg)
	return amp*exp(real_exp_arg)*euler1 + amp*exp(real_exp_arg)*euler2*1.0j