Source code for galaxy

import numpy as np

class Galaxy(object):
[docs] def __init__(self, cmx, cmy, cmz, cmvx, cmvy, cmvz, gas_mass, stellar_mass, HMR, FMR): self.cm = np.array([cmx,cmy,cmz]) self.vel = np.array([cmvx,cmvy,cmvz]) self.gas_mass = gas_mass self.stellar_mass = stellar_mass self.HMR = HMR self.FMR = FMR self.central = 1 class Color(object):
[docs] def __init__(self,name,wavelength_range,index): self.name = name self.index = index self.wavelength_range = wavelength_range #self.mag = np.zeros(3) #self.mag.fill(np.nan) #self.emag = np.zeros(3) #self.emag.fill(np.nan) self.mag = {} self.emag = {} @property def flux(self):
[docs] tmp = np.zeros(3) for i in range(0,3): if self.mag[i] == np.nan: tmp[i] = 0 else: tmp[i] = self.mag2flux(self.mag[i]) return tmp @property
def eflux(self):
[docs] tmp = np.zeros(3) for i in range(0,3): if self.emag[i] == np.nan: tmp[i] = 0 else: tmp[i] = self.mag2flux(self.emag[i]) return tmp def mag2flux(self,MAG):
[docs] return 10**(MAG / -2.5) def flux2mag(self,FLUX):
[docs] return -2.5 * np.log10(FLUX)