mEmcPerfectPAM.C

Go to the documentation of this file.
00001 /* Automatically generated.  Do not edit. */
00002 #include "mEmcPerfectModule.h"
00003 #include "mEmcPerfect.h"
00004 #include "PHIODataNode.h"
00005 
00006 #include "dEmcGeaHitWrapper.h"
00007 
00008 typedef PHIODataNode<dEmcGeaHitWrapper> dEmcGeaHitNode_t;
00009 
00010 #include "dEmcClusterLocalWrapper.h"
00011 
00012 typedef PHIODataNode<dEmcClusterLocalWrapper> dEmcClusterLocalNode_t;
00013 
00014 #include "dEmcGeaClusterTrackWrapper.h"
00015 
00016 typedef PHIODataNode<dEmcGeaClusterTrackWrapper> dEmcGeaClusterTrackNode_t;
00017 
00018 PHBoolean
00019 mEmcPerfectModule::callPAM(PHPointerList<PHNode> &nl) {
00020   long result;
00021 
00022   TABLE_HEAD_ST t1;
00023   DEMCGEAHIT_ST *d1;
00024   TABLE_HEAD_ST t2;
00025   DEMCCLUSTERLOCAL_ST *d2;
00026   TABLE_HEAD_ST t3;
00027   DEMCGEACLUSTERTRACK_ST *d3;
00028 
00029   dEmcGeaHitNode_t* n1 = static_cast<dEmcGeaHitNode_t*>(nl[0]);
00030   dEmcClusterLocalNode_t* n2 = static_cast<dEmcClusterLocalNode_t*>(nl[1]);
00031   dEmcGeaClusterTrackNode_t* n3 = static_cast<dEmcGeaClusterTrackNode_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 = memcperfect_(
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 }