示例#1
0
 def __init__(self,
              f0=0,
              i0=0,
              e0=0,
              gl=0,
              gu=0,
              a=0,
              zm=ZeemanModel(),
              lsm=LineShapeModel(),
              qupp=[],
              qlow=[]):
     if isinstance(f0, c.c_void_p):
         self.__delete__ = False
         self.__data__ = f0
     else:
         self.__delete__ = True
         self.__data__ = c.c_void_p(lib.createAbsorptionSingleLine())
         self.f0 = f0
         self.i0 = i0
         self.e0 = e0
         self.gl = gl
         self.gu = gu
         self.a = a
         self.zeeman = zm
         self.lsm = lsm
         self.qupp = qupp
         self.qlow = qlow
示例#2
0
    def __init__(self,
                 selfbroadening=False,
                 bathbroadening=False,
                 nlines=0,
                 cutoff="None",
                 mirroring="None",
                 population="LTE",
                 normalization="None",
                 lineshapetype="VP",
                 t0=296,
                 cutofffreq=-1,
                 linemixinglimit=-1,
                 quantumidentity=QuantumIdentifier(),
                 localquantumnumbers=[],
                 broadeningspecies=ArrayOfSpecies(),
                 lsm=LineShapeModel()):
        if isinstance(selfbroadening, c.c_void_p):
            self.__delete__ = False
            self.__data__ = selfbroadening
        else:
            self.__delete__ = True
            self.__data__ = c.c_void_p(lib.createAbsorptionLines())
            self.selfbroadening = selfbroadening
            self.bathbroadening = bathbroadening
            self.cutoff = cutoff
            self.mirroring = mirroring
            self.population = population
            self.normalization = normalization
            self.lineshapetype = lineshapetype
            self.t0 = t0
            self.cutofffreq = cutofffreq
            self.linemixinglimit = linemixinglimit
            self.quantumidentity = quantumidentity
            self.localquantumnumbers = localquantumnumbers
            self.broadeningspecies = broadeningspecies

            n = len(self.localquantumnumbers)
            x = AbsorptionSingleLine(lsm=lsm,
                                     qupp=[Rational()] * n,
                                     qlow=[Rational()] * n)
            self.sizelines = nlines
            y = self.lines
            for line in y:
                line.set(x)

            if not self.OK:
                raise ValueError("Bad initialization of class")
示例#3
0
 def lsm(self):
     """ Line shape model (LineShapeModel) """
     return LineShapeModel(c.c_void_p(lib.getlineshapeAbsorptionSingleLine(self.__data__)))