Exemplo n.º 1
0
class _Polarization(Base):
    def __init__(self, Polarization, Name='Polarization'):
        self.Name = Name
        self.Value = ToList(Polarization)
        self.Label = 'Polarization'
        self.Unit = ''
        self.Legend = f'Polarization {self.Unit}'

    def flatten(self):
        return np.array([x.J for x in self.Value]).flatten()

    def str(self, item):
        return self.Value[item].__str__()

    def __str__(self):
        return self.Value.__str__()
Exemplo n.º 2
0
class _PhiOffset(Base):
    def __init__(self, PhiOffset, Name='Phi'):
        self.Name = Name
        self.Value = ToList(PhiOffset).astype(float)
        self.Format = "03.1f"
        self.Unit = "[Deg]"
        self.Label = 'Phi offset'
        self.Legend = f'Phi offset {self.Unit}'

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()
Exemplo n.º 3
0
class _NA(Base):
    def __init__(self, NA, Name='NA'):
        self.Name = Name
        self.Value = ToList(NA).astype(float)
        self.Format = ".1e"
        self.Unit = "[1]"
        self.Label = 'Numerical aperture'
        self.Legend = f'Numerical aperture {self.Unit}'

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()
Exemplo n.º 4
0
class _Wavelength(Base):
    def __init__(self, Wavelength, Name='Wavelength'):
        self.Name = Name
        self.Value = ToList(Wavelength).astype(float)
        self.Format = ".1e"
        self.Unit = "[m]"
        self.Label = 'Wavelength [m]'
        self.Legend = f'Wavelength {self.Unit}'

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()
Exemplo n.º 5
0
class _Amplitude(Base):
    def __init__(self, Amplitude, Name='Amplitude'):
        self.Name = Name
        self.Value = ToList(Amplitude).astype(float)
        self.Format = ".1f"
        self.Unit = "[w.m⁻¹]"
        self.Label = 'E_0[w.m⁻¹]'
        self.Legend = f'Electric field amplitude {self.Unit}'

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()
Exemplo n.º 6
0
class _Filter(Base):
    def __init__(self, Filter, Name='Filter'):
        self.Name = Name
        self.Value = ToList(Filter).astype(float)
        self.Format = "03.1f"
        self.Unit = "[Deg]"
        self.Label = 'Polarization filter'
        self.Legend = f'Polarization filter {self.Unit}'

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}}"
        else:
            return self.Value.__str__()
Exemplo n.º 7
0
class _Sampling(Base):
    def __init__(self, Sampling, Name='Sampling'):
        self.Name = Name
        self.Value = ToList(Sampling).astype(float)
        self.Format = ".1e"
        self.Unit = "[1]"
        self.Label = 'Detector sampling'
        self.Legend = f'Detector sampling {self.Unit}'

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()
Exemplo n.º 8
0
class _Diameter(Base):
    def __init__(self, Diameter, Name='Diameter', Prefix=None):
        self.Name = Name
        self.Value = ToList(Diameter).astype(float)
        self.Format = ".2f"
        self.Unit = "[m]"
        self.Label = 'Diameter'
        self.Legend = f'Diameter {self.Unit}'
        if Prefix:
            self.Legend = Prefix + ' ' + self.Legend

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()
Exemplo n.º 9
0
class _Index(Base):
    def __init__(self, Index, Name='Index'):
        self.Name = Name
        self.Format = ".2f"
        self.Unit = "[1]"
        self.Label = 'RI'
        self.Legend = f'Refractive index {self.Unit}'
        if Name == 'nMedium':
            self.Value = ToList(Index).astype(float)
        else:
            self.Value = ToList(Index).astype(complex)

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()
Exemplo n.º 10
0
class _Material(Base):
    def __init__(self, Material, Name='Material'):
        self.Name = Name
        self.Format = ""
        self.Unit = ""
        self.Label = 'Material'
        self.Legend = f'Material {self.Unit}'
        if Material is None:
            self.IsEmpty = True
        else:
            self.IsEmpty = False
        self.Value = ToList(Material)

    def str(self, item):
        return f" | {self.Name} : {self.Value[item]:{self.Format}}"

    def __str__(self):
        if self.Value.size == 1:
            return f" | {self.Name} : {self.Value[0]:{self.Format}} {self.Unit}"
        else:
            return self.Value.__str__()