00001
00002 #include "mEmcGeaMakeRawModule.h"
00003 #include "mEmcGeaMakeRaw.h"
00004 #include "PHIODataNode.h"
00005
00006 #include "headerWrapper.h"
00007
00008 typedef PHIODataNode<headerWrapper> headerNode_t;
00009
00010 #include "dEmcGeaHitWrapper.h"
00011
00012 typedef PHIODataNode<dEmcGeaHitWrapper> dEmcGeaHitNode_t;
00013
00014 #include "dEmcGeaParamsWrapper.h"
00015
00016 typedef PHIODataNode<dEmcGeaParamsWrapper> dEmcGeaParamsNode_t;
00017
00018 #include "dEmcRespParWrapper.h"
00019
00020 typedef PHIODataNode<dEmcRespParWrapper> dEmcRespParNode_t;
00021
00022 #include "dEmcGeometryWrapper.h"
00023
00024 typedef PHIODataNode<dEmcGeometryWrapper> dEmcGeometryNode_t;
00025
00026 #include "dEmcGeaTrackTowerWrapper.h"
00027
00028 typedef PHIODataNode<dEmcGeaTrackTowerWrapper> dEmcGeaTrackTowerNode_t;
00029
00030 #include "dEmcGeaTowerTrackWrapper.h"
00031
00032 typedef PHIODataNode<dEmcGeaTowerTrackWrapper> dEmcGeaTowerTrackNode_t;
00033
00034 #include "dEmcRawDataWrapper.h"
00035
00036 typedef PHIODataNode<dEmcRawDataWrapper> dEmcRawDataNode_t;
00037
00038 PHBoolean
00039 mEmcGeaMakeRawModule::callPAM(PHPointerList<PHNode> &nl) {
00040 long result;
00041
00042 TABLE_HEAD_ST t1;
00043 HEADER_ST *d1;
00044 TABLE_HEAD_ST t2;
00045 DEMCGEAHIT_ST *d2;
00046 TABLE_HEAD_ST t3;
00047 DEMCGEAPARAMS_ST *d3;
00048 TABLE_HEAD_ST t4;
00049 DEMCRESPPAR_ST *d4;
00050 TABLE_HEAD_ST t5;
00051 DEMCGEOMETRY_ST *d5;
00052 TABLE_HEAD_ST t6;
00053 DEMCGEATRACKTOWER_ST *d6;
00054 TABLE_HEAD_ST t7;
00055 DEMCGEATOWERTRACK_ST *d7;
00056 TABLE_HEAD_ST t8;
00057 DEMCRAWDATA_ST *d8;
00058
00059 headerNode_t* n1 = static_cast<headerNode_t*>(nl[0]);
00060 dEmcGeaHitNode_t* n2 = static_cast<dEmcGeaHitNode_t*>(nl[1]);
00061 dEmcGeaParamsNode_t* n3 = static_cast<dEmcGeaParamsNode_t*>(nl[2]);
00062 dEmcRespParNode_t* n4 = static_cast<dEmcRespParNode_t*>(nl[3]);
00063 dEmcGeometryNode_t* n5 = static_cast<dEmcGeometryNode_t*>(nl[4]);
00064 dEmcGeaTrackTowerNode_t* n6 = static_cast<dEmcGeaTrackTowerNode_t*>(nl[5]);
00065 dEmcGeaTowerTrackNode_t* n7 = static_cast<dEmcGeaTowerTrackNode_t*>(nl[6]);
00066 dEmcRawDataNode_t* n8 = static_cast<dEmcRawDataNode_t*>(nl[7]);
00067
00068 t1 = n1->getData()->TableHeader();
00069 d1 = n1->getData()->TableData();
00070 t2 = n2->getData()->TableHeader();
00071 d2 = n2->getData()->TableData();
00072 t3 = n3->getData()->TableHeader();
00073 d3 = n3->getData()->TableData();
00074 t4 = n4->getData()->TableHeader();
00075 d4 = n4->getData()->TableData();
00076 t5 = n5->getData()->TableHeader();
00077 d5 = n5->getData()->TableData();
00078 t6 = n6->getData()->TableHeader();
00079 d6 = n6->getData()->TableData();
00080 t7 = n7->getData()->TableHeader();
00081 d7 = n7->getData()->TableData();
00082 t8 = n8->getData()->TableHeader();
00083 d8 = n8->getData()->TableData();
00084
00085 result = memcgeamakeraw_(
00086 &t1, d1,
00087 &t2, d2,
00088 &t3, d3,
00089 &t4, d4,
00090 &t5, d5,
00091 &t6, d6,
00092 &t7, d7,
00093 &t8, d8 );
00094
00095 n1->getData()->SetRowCount(t1.nok);
00096 n2->getData()->SetRowCount(t2.nok);
00097 n3->getData()->SetRowCount(t3.nok);
00098 n4->getData()->SetRowCount(t4.nok);
00099 n5->getData()->SetRowCount(t5.nok);
00100 n6->getData()->SetRowCount(t6.nok);
00101 n7->getData()->SetRowCount(t7.nok);
00102 n8->getData()->SetRowCount(t8.nok);
00103
00104 if (result == 1) {
00105 return True;
00106 } else {
00107 return False;
00108 }
00109 }