def KLfamily(nm, lnom, lsym, lm, lme, lrate, mnom, mm, mme, pnom, pm, pme, mev=mega*eV.mass, Hz=Hertz): """Deciphering Kaye&Laby p449. Positional arguments are as follows: neutrino mass -- upper bound, measured in MeV lepton name -- string lepton symbol -- string lepton mass -- in MeV lepton mass error -- half-width of error bar on previous lepton decay rate -- fraction of the given lepton species which decay per second -ve quark name -- name of the quark with -ve charge e/3 -ve quark mass -- mass estimate, in GeV, for the -ve quark -ve quark mass error -- half-width of error-bar on previous +ve quark name -- name of the quark with +ve charge 2*e/3 +ve quark mass -- mass estimate, in GeV, for the +ve quark +ve quark mass error -- half-width of error bar on previous\n""" return Family(Neutrino(lnom, mass=Quantity.below(nm, mev)), Lepton(lnom, mass=Quantity.within(lm, lme, mev), symbol=lsym, decay=lrate * Hz), dQuark(mnom, mass=Quantity.within(mm, mme, kilo*mev)), uQuark(pnom, mass=Quantity.within(pm, pme, kilo*mev)))
def KLfamily(nm, lnom, lsym, lm, lme, lrate, mnom, mm, mme, pnom, pm, pme, mev=mega * eV.mass, Hz=Hertz): """Deciphering Kaye&Laby p449. Positional arguments are as follows: neutrino mass -- upper bound, measured in MeV lepton name -- string lepton symbol -- string lepton mass -- in MeV lepton mass error -- half-width of error bar on previous lepton decay rate -- fraction of the given lepton species which decay per second -ve quark name -- name of the quark with -ve charge e/3 -ve quark mass -- mass estimate, in GeV, for the -ve quark -ve quark mass error -- half-width of error-bar on previous +ve quark name -- name of the quark with +ve charge 2*e/3 +ve quark mass -- mass estimate, in GeV, for the +ve quark +ve quark mass error -- half-width of error bar on previous\n""" return Family( Neutrino(lnom, mass=Quantity.below(nm, mev)), Lepton(lnom, mass=Quantity.within(lm, lme, mev), symbol=lsym, decay=lrate * Hz), dQuark(mnom, mass=Quantity.within(mm, mme, kilo * mev)), uQuark(pnom, mass=Quantity.within(pm, pme, kilo * mev)))
appears centred on the direction opposite to the light source (generally the sun), at an angle ranging from 40.6 (violet) to 42 (red) degrees from that direction. The spray-bow resulting from sea-spray is tighter - sea water droplets turn light through a larger angle than pure water droplets. """, secondary=between( 127, 130, arc.degree, """The angle through which a secondary rainbow turns visible light. Compare visible.rainbow, the primary angle: for the secondary rainbow, red (130 degrees) is turned more than violet (127 degrees); since this range is less than that of the primary rainbow (but still more than a quarter turn), the secondary bow appears outside the primary. """))) radio = Photon(name="radio", frequency = Quantity.below(3, giga * Hertz)) microwave = Photon(name="microwave", wavelength = between(1, 100, milli * metre), frequency = between(1, 100, 3 * giga * Hertz)) infrared = Photon(name="infra-red", wavelength = between(.7, 1000, micro * metre), frequency = between(.3, 400, tera * Hertz), near=Photon(name='near infra-red', # (.7-1) to 5 microns wavelength=between(.7, 5, micro * metre)), mid=Photon(name='mid infra-red', # 5 to (25-40) microns wavelength=between(5, 40, micro * metre)), far=Photon(name = 'far infra-red', # (25-40) to (200-350) microns wavelength = between(25, 350, micro * metre)),
appears centred on the direction opposite to the light source (generally the sun), at an angle ranging from 40.6 (violet) to 42 (red) degrees from that direction. The spray-bow resulting from sea-spray is tighter - sea water droplets turn light through a larger angle than pure water droplets. """, secondary=between( 127, 130, arc.degree, """The angle through which a secondary rainbow turns visible light. Compare visible.rainbow, the primary angle: for the secondary rainbow, red (130 degrees) is turned more than violet (127 degrees); since this range is less than that of the primary rainbow (but still more than a quarter turn), the secondary bow appears outside the primary. """))) radio = Photon(name="radio", frequency=Quantity.below(3, giga * Hertz)) microwave = Photon(name="microwave", wavelength=between(1, 100, milli * metre), frequency=between(1, 100, 3 * giga * Hertz)) infrared = Photon( name="infra-red", wavelength=between(.7, 1000, micro * metre), frequency=between(.3, 400, tera * Hertz), near=Photon( name='near infra-red', # (.7-1) to 5 microns wavelength=between(.7, 5, micro * metre)), mid=Photon( name='mid infra-red', # 5 to (25-40) microns wavelength=between(5, 40, micro * metre)),