00001 #include "message.h"
00002 #include "parametermap.h"
00003 #include "general_imager3d.h"
00004 #include "kernel.h"
00005 #include "kernel_chooser.h"
00006
00007 using namespace TNT;
00008 using namespace std;
00009
00010
00011
00012
00013
00014 bool CGeneralImager3d::Read( const parameterMap& m ){
00015 if (m.find("override_kernel")!=m.end()) {
00016 kernel_particle1 = parameter::getS(m,"kernel_particle1",kernel_particle1);
00017 kernel_particle2 = parameter::getS(m,"kernel_particle2",kernel_particle2);
00018 }
00019 return true;
00020 }
00021
00022
00023
00024 bool CGeneralImager3d::Write( parameterMap& m ){
00025 parameter::set(m,"kernel_particle1",kernel_particle1);
00026 parameter::set(m,"kernel_particle2",kernel_particle2);
00027 return true;
00028 }
00029
00030
00031
00032 void CGeneralImager3d::set_kernel( void ){
00033 parameterMap kdata;
00034 parameter::set(kdata,"nqmax",1000);
00035 parameter::set(kdata,"nrmax",100);
00036 parameter::set(kdata,"kellmax",4);
00037 parameter::set(kdata,"delq",0.5);
00038 parameter::set(kdata,"delr",1.0);
00039 parameter::set(kdata,"IDENTICAL",kernel_particle1==kernel_particle2);
00040 kernelPtr = chooseKernel( kernel_particle1, kernel_particle2, kdata );
00041 }
00042
00043
00044 void CGeneralImager3d::set_kernel( const parameterMap& m ){
00045 string kernel_particle1=parameter::getS(m,"particle1");
00046 string kernel_particle2=parameter::getS(m,"particle2");
00047 kernelPtr = chooseKernel( kernel_particle1, kernel_particle2, m );
00048 }
00049
00050
00051 void CGeneralImager3d::set_kernel( const CKernel* _kernelPtr ){
00052 kernelPtr = _kernelPtr;
00053 }