Longitudinal Profile From Data#

class lasy.profiles.longitudinal.LongitudinalProfileFromData(data, lo, hi)[source]#

Class for longitudinal laser profile created using data.

The data used can either come from an experimental measurement or from the output of another code. This data is then used to define the longitudinal profile of the laser pulse.

The data may be supplied in either the spectral or temporal domain. The data should be passed as a structure (defined below). If spectral data is passed, it will be converted to the temporal domain.

Parameters:
datastructure

The data structure comprises several items indexed by a series of keys

datatypestring

The domain in which the data has been passed. Options are ‘spectral’ and ‘temporal’

axisndarrays of floats

The horizontal axis of the pulse duration measurement When datatype is ‘spectral’ axis is wavelength in meters When datatype is ‘temporal’ axis is time in seconds

intensityndarrays of floats

The vertical axis of the pulse duration measurement. Spectral (resp. temporal) intensity when datatype is ‘spectral’ (resp ‘temporal’).

phasendarray of floats

If provided, this phase will be added to the pulse. When datatype is ‘spectral’ phase is spectral phase. When datatype is ‘temporal’ phase is temporal phase.

dtfloat

Only required when datatype is ‘spectral’. In this case this defines the user requested resolution in the conversion from the spectral to the temporal domain.

wavelengthfloat

Only required when datatype is ‘temporal’. Then, this is the central wavelength of the pulse

lo, hifloats (seconds)

Lower and higher ends of the required domain of the data. The data imported will be cut to this range prior to being incorporated into the lasy pulse.

evaluate(t)[source]#

Return the longitudinal field envelope.

Parameters:
tndarray of floats

Define points on which to evaluate the envelope

Returns:
envelopendarray of complex numbers

Contains the value of the longitudinal envelope at the specified points. This array has the same shape as the array t.