#include "sopnamsp.h" #include "machdefs.h" #include #include #include #include #include #include #include "timing.h" #include "ntuple.h" #include "constcosmo.h" #include "geneutils.h" #include "planckspectra.h" void compute_xroot(void); // cmvtstblack [T,nutest(Hz)] [deriv 0/1] int main(int narg,char *arg[]) { //{compute_xroot(); return -41;} double T = 2.718, nutest=-1.; unsigned short funcderiv = 0; double x0; if(narg>1) sscanf(arg[1],"%lf,%lf",&T,&nutest); if(T<=0.) T = 2.718; if(narg>2) sscanf(arg[2],"%hu",&funcderiv); PlanckSpectra::SpectraFunc deriv = (funcderiv==0) ? PlanckSpectra::VALUE : PlanckSpectra::DERIV; cout<<"Temperature "< %e W/m^2/sr/Hz\n",x0,pradf(x0)); printf(" check: = %e\n",pradf.FindMaximum(eps)); x0 = phpradf.WienLaw(); printf("Planck maximum for radiance photon: f = %e Hz -> %e ph/s/m^2/sr/Hz\n",x0,phpradf(x0)); printf(" check: = %e\n",phpradf.FindMaximum(eps)); x0 = pdensf.WienLaw(); printf("Planck maximum for density energy: f = %e Hz -> %e J/m^3/Hz\n",x0,pdensf(x0)); printf(" check: = %e\n",pdensf.FindMaximum(eps)); x0 = phpdensf.WienLaw(); printf("Planck maximum for density photon: f = %e Hz -> %e ph/m^3/Hz\n",x0,phpdensf(x0)); printf(" check: = %e\n",phpdensf.FindMaximum(eps)); x0 = pradl.WienLaw(); printf("Planck maximum for radiance energy: l = %e m -> %e W/m^2/sr/m\n",x0,pradl(x0)); printf(" check: = %e\n",pradl.FindMaximum(eps)); x0 = phpradl.WienLaw(); printf("Planck maximum for radiance photon: l = %e m -> %e ph/s/m^2/sr/m\n",x0,phpradl(x0)); printf(" check: = %e\n",phpradl.FindMaximum(eps)); x0 = pdensl.WienLaw(); printf("Planck maximum for density energy: l = %e m -> %e J/m^3/m\n",x0,pdensl(x0)); printf(" check: = %e\n",pdensl.FindMaximum(eps)); x0 = phpdensl.WienLaw(); printf("Planck maximum for density photon: l = %e m -> %e ph/m^3/m\n",x0,phpdensl(x0)); printf(" check: = %e\n",phpdensl.FindMaximum(eps)); //--------------------------------- La loi de Wien cout< %e W/m^2/sr/Hz\n",x0,wradf(x0)); printf(" check: = %e\n",wradf.FindMaximum(eps)); x0 = phwradf.WienLaw(); printf("Wien law for radiance photon: f = %e Hz -> %e ph/s/m^2/sr/Hz\n",x0,phwradf(x0)); printf(" check: = %e\n",phwradf.FindMaximum(eps)); x0 = wdensf.WienLaw(); printf("Wien law for density energy: f = %e Hz -> %e J/m^3/Hz\n",x0,wdensf(x0)); printf(" check: = %e\n",wdensf.FindMaximum(eps)); x0 = phwdensf.WienLaw(); printf("Wien law for density photon: f = %e Hz -> %e ph/m^3/Hz\n",x0,phwdensf(x0)); printf(" check: = %e\n",phwdensf.FindMaximum(eps)); x0 = wradl.WienLaw(); printf("Wien law for radiance energy: l = %e m -> %e W/m^2/sr/m\n",x0,wradl(x0)); printf(" check: = %e\n",wradl.FindMaximum(eps)); x0 = phwradl.WienLaw(); printf("Wien law for radiance photon: l = %e m -> %e ph/s/m^2/sr/m\n",x0,phwradl(x0)); printf(" check: = %e\n",phwradl.FindMaximum(eps)); x0 = wdensl.WienLaw(); printf("Wien law for density energy: l = %e m -> %e J/m^3/m\n",x0,wdensl(x0)); printf(" check: = %e\n",wdensl.FindMaximum(eps)); x0 = phwdensl.WienLaw(); printf("Wien law for density photon: l = %e m -> %e ph/m^3/m\n",x0,phwdensl(x0)); printf(" check: = %e\n",phwdensl.FindMaximum(eps)); //--------------------------------- Densite totale d'energie cout<>>> Ecriture"<