00001
00002 #include "mEmcGeaParamsModule.h"
00003 #include "mEmcGeaParams.h"
00004 #include "PHIODataNode.h"
00005
00006 #include "emcparWrapper.h"
00007
00008 typedef PHIODataNode<emcparWrapper> emcparNode_t;
00009
00010 #include "dEmcGeaParamsWrapper.h"
00011
00012 typedef PHIODataNode<dEmcGeaParamsWrapper> dEmcGeaParamsNode_t;
00013
00014 #include "dEmcGeometryWrapper.h"
00015
00016 typedef PHIODataNode<dEmcGeometryWrapper> dEmcGeometryNode_t;
00017
00018 PHBoolean
00019 mEmcGeaParamsModule::callPAM(PHPointerList<PHNode> &nl) {
00020 long result;
00021
00022 TABLE_HEAD_ST t1;
00023 EMCPAR_ST *d1;
00024 TABLE_HEAD_ST t2;
00025 DEMCGEAPARAMS_ST *d2;
00026 TABLE_HEAD_ST t3;
00027 DEMCGEOMETRY_ST *d3;
00028
00029 emcparNode_t* n1 = static_cast<emcparNode_t*>(nl[0]);
00030 dEmcGeaParamsNode_t* n2 = static_cast<dEmcGeaParamsNode_t*>(nl[1]);
00031 dEmcGeometryNode_t* n3 = static_cast<dEmcGeometryNode_t*>(nl[2]);
00032
00033 t1 = n1->getData()->TableHeader();
00034 d1 = n1->getData()->TableData();
00035 t2 = n2->getData()->TableHeader();
00036 d2 = n2->getData()->TableData();
00037 t3 = n3->getData()->TableHeader();
00038 d3 = n3->getData()->TableData();
00039
00040 result = memcgeaparams_(
00041 &t1, d1,
00042 &t2, d2,
00043 &t3, d3 );
00044
00045 n1->getData()->SetRowCount(t1.nok);
00046 n2->getData()->SetRowCount(t2.nok);
00047 n3->getData()->SetRowCount(t3.nok);
00048
00049 if (result == 1) {
00050 return True;
00051 } else {
00052 return False;
00053 }
00054 }