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)