def ecc_prior_fn(self, ecc):
## UPGRADE TO INCLUDE FURTHER STRINGS TO INDICATE ECC PRIOR OPTIONS FROM KEPLER AND OTHER SURVEY RESULTS #$$$$$$$$$$$$$$$$$$$$
ret = 1.0
if (self.e_prior==False) or (self.e_prior=="uniform"):
ret = self.uniform_fn(ecc,4)
else:
if ecc!=0:
if (self.e_prior == True) or (self.e_prior=='beta'):
ret = self.ecc_beta.pdf(ecc)
elif self.e_prior == '2e':
if (self.mins_ary[6]*self.days_per_year)>1000.0:
ret = 2.0*ecc
elif self.e_prior=='STO8':
ret =(1.0/self.ecc_ST08_k)*(1.0/(1.0+ecc)**self.ecc_ST08_a)-(ecc/2.0**self.ecc_ST08_a)
elif self.e_prior=='J08':
ret = self.ecc_R.pdf(ecc,scale=self.ecc_R_sig)
elif self.e_prior=='RayExp':
A = self.ecc_Rexp_a*self.ecc_exp.pdf(ecc, scale=1.0/self.ecc_Rexp_lamda)
B = (1.0-self.ecc_Rexp_a)*self.ecc_R.pdf(ecc,scale=self.ecc_Rexp_sig)/self.ecc_Rexp_sig
ret = A+B
#if ret==0: ret=-np.inf
return ret
评论列表
文章目录