/* * rtthread.cpp * $Id: rtthread.cpp,v 1.7 2010/09/17 15:22:56 thernis Exp $ * */ #include #include #include "rtthread.h" #include "sun.h" #include "camera.h" #include "Cbasis.h" #include "scene.h" #include "physicsbase.h" int rtthread(int sx,int sy,float fovpix,float *obspos,float *obsang,float *nepos,float *neang,int losnbp,float *losrange,int modelid,float *btot,float *bpol,float *netot,float *pmodparam,float *crpix,int quiet,int neonly,float *hlonlat,float occrad,float limbdark,float *obslonlat,int obslonlatflag,unsigned int projtypecode,float pv2_1,float *pc,int frontinteg,unsigned int nbthreads,unsigned int nbchunk,float *nerotcntr,float *nerotang,float *netranslation,int *nerotaxis,int physics,float *phyparam) { if (quiet!=1) { std::cout << "In rtthread..." << std::endl; printvar(sx); printvar(sy); printvar(fovpix); printvarnoend(obspos[0]);printvarnoend(obspos[1]);printvar(obspos[2]); printvarnoend(obsang[0]);printvarnoend(obsang[1]);printvar(obsang[2]); printvarnoend(nepos[0]);printvarnoend(nepos[1]);printvar(nepos[2]); printvarnoend(neang[0]);printvarnoend(neang[1]);printvar(neang[2]); printvarnoend(nerotcntr[0]);printvarnoend(nerotcntr[1]);printvar(nerotcntr[2]); printvarnoend(nerotang[0]);printvarnoend(nerotang[1]);printvar(nerotang[2]); printvarnoend(nerotaxis[0]);printvarnoend(nerotaxis[1]);printvar(nerotaxis[2]); printvarnoend(netranslation[0]);printvarnoend(netranslation[1]);printvar(netranslation[2]); printvar(losnbp); printvarnoend(losrange[0]);printvar(losrange[1]); printvar(modelid); printvarnoend(crpix[0]);printvar(crpix[1]); printvar(quiet); printvar(neonly); printvarnoend(hlonlat[0]);printvarnoend(hlonlat[1]);printvar(hlonlat[2]); printvar(occrad); printvar(limbdark); printvarnoend(obslonlat[0]);printvarnoend(obslonlat[1]);printvar(obslonlat[2]); printvar(obslonlatflag); printvar(projtypecode); printvar(pv2_1); printvarnoend(pc[0]);printvar(pc[1]); printvarnoend(pc[2]);printvar(pc[3]); printvar(frontinteg); printvar(nbthreads); printvar(nbchunk); printvar(physics); } // ---- setup the scene // -- Camera parameters Scene scene; scene.camera.setCCD(CCD(sx,sy)); scene.camera.setProjType(projtypecode); scene.camera.setFovpix(fovpix); scene.camera.setCrpix(crpix[0],crpix[1]); scene.camera.setPv2_1(pv2_1); scene.camera.setPc(pc); scene.csun.setLimbDarkening(limbdark); scene.setNeonly(neonly); scene.setFrontInteg(frontinteg); scene.setQuiet(quiet); // -- LOS integration parameter definition scene.los.setLOS(losnbp,losrange[0],losrange[1]); // -- density model scene.setDensityModel(modelid,pmodparam); // -- physics scene.setPhysics((PhysicsType)physics); scene.setPhysicsParam(phyparam); std::cout<