00001
00002 #include "mEmcGeaClusterEval2Module.h"
00003 #include "mEmcGeaClusterEval2.h"
00004 #include "PHIODataNode.h"
00005
00006 #include "dEmcEventWrapper.h"
00007
00008 typedef PHIODataNode<dEmcEventWrapper> dEmcEventNode_t;
00009
00010 #include "dEmcGeaTrackWrapper.h"
00011
00012 typedef PHIODataNode<dEmcGeaTrackWrapper> dEmcGeaTrackNode_t;
00013
00014 #include "dEmcGeaTowerTrackWrapper.h"
00015
00016 typedef PHIODataNode<dEmcGeaTowerTrackWrapper> dEmcGeaTowerTrackNode_t;
00017
00018 #include "dEmcClusterExtWrapper.h"
00019
00020 typedef PHIODataNode<dEmcClusterExtWrapper> dEmcClusterExtNode_t;
00021
00022 #include "dEmcGeaTrackClusterWrapper.h"
00023
00024 typedef PHIODataNode<dEmcGeaTrackClusterWrapper> dEmcGeaTrackClusterNode_t;
00025
00026 #include "dEmcGeaClusterTrackWrapper.h"
00027
00028 typedef PHIODataNode<dEmcGeaClusterTrackWrapper> dEmcGeaClusterTrackNode_t;
00029
00030 PHBoolean
00031 mEmcGeaClusterEval2Module::callPAM(PHPointerList<PHNode> &nl) {
00032 long result;
00033
00034 TABLE_HEAD_ST t1;
00035 DEMCEVENT_ST *d1;
00036 TABLE_HEAD_ST t2;
00037 DEMCGEATRACK_ST *d2;
00038 TABLE_HEAD_ST t3;
00039 DEMCGEATOWERTRACK_ST *d3;
00040 TABLE_HEAD_ST t4;
00041 DEMCCLUSTEREXT_ST *d4;
00042 TABLE_HEAD_ST t5;
00043 DEMCGEATRACKCLUSTER_ST *d5;
00044 TABLE_HEAD_ST t6;
00045 DEMCGEACLUSTERTRACK_ST *d6;
00046
00047 dEmcEventNode_t* n1 = static_cast<dEmcEventNode_t*>(nl[0]);
00048 dEmcGeaTrackNode_t* n2 = static_cast<dEmcGeaTrackNode_t*>(nl[1]);
00049 dEmcGeaTowerTrackNode_t* n3 = static_cast<dEmcGeaTowerTrackNode_t*>(nl[2]);
00050 dEmcClusterExtNode_t* n4 = static_cast<dEmcClusterExtNode_t*>(nl[3]);
00051 dEmcGeaTrackClusterNode_t* n5 = static_cast<dEmcGeaTrackClusterNode_t*>(nl[4]);
00052 dEmcGeaClusterTrackNode_t* n6 = static_cast<dEmcGeaClusterTrackNode_t*>(nl[5]);
00053
00054 t1 = n1->getData()->TableHeader();
00055 d1 = n1->getData()->TableData();
00056 t2 = n2->getData()->TableHeader();
00057 d2 = n2->getData()->TableData();
00058 t3 = n3->getData()->TableHeader();
00059 d3 = n3->getData()->TableData();
00060 t4 = n4->getData()->TableHeader();
00061 d4 = n4->getData()->TableData();
00062 t5 = n5->getData()->TableHeader();
00063 d5 = n5->getData()->TableData();
00064 t6 = n6->getData()->TableHeader();
00065 d6 = n6->getData()->TableData();
00066
00067 result = memcgeaclustereval2_(
00068 &t1, d1,
00069 &t2, d2,
00070 &t3, d3,
00071 &t4, d4,
00072 &t5, d5,
00073 &t6, d6 );
00074
00075 n1->getData()->SetRowCount(t1.nok);
00076 n2->getData()->SetRowCount(t2.nok);
00077 n3->getData()->SetRowCount(t3.nok);
00078 n4->getData()->SetRowCount(t4.nok);
00079 n5->getData()->SetRowCount(t5.nok);
00080 n6->getData()->SetRowCount(t6.nok);
00081
00082 if (result == 1) {
00083 return True;
00084 } else {
00085 return False;
00086 }
00087 }