mEmcEvent.c

Go to the documentation of this file.
00001 #include "mEmcEvent.h"
00002 #include "emlLib.h"
00003 
00013 long 
00014 mEmcEvent_
00015 (
00016  TABLE_HEAD_ST *dBbcOut_h, DBBCOUT_ST *dBbcOut ,
00017  TABLE_HEAD_ST *dEmcEvent_h, DEMCEVENT_ST *dEmcEvent 
00018  )
00019 {
00020   /*
00021     ARGUMENTS:
00022     IN:
00023     dBbcOut    - PLEASE FILL IN DESCRIPTION HERE
00024     dBbcOut_h   - header Structure for dBbcOut
00025     OUT:
00026     dEmcEvent    - PLEASE FILL IN DESCRIPTION HERE
00027     dEmcEvent_h   - header Structure for dEmcEvent
00028     RETURNS:    STAF Condition Value
00029   */
00030  
00031   long i;
00032   static long ievno = 0;
00033   float vertex[3];
00034 
00035   ievno++;
00036 
00037   dEmcEvent[0].id = 1;
00038   dEmcEvent[0].evtyp = 1;   /* GEANT */
00039   dEmcEvent[0].evno = ievno;
00040   dEmcEvent[0].runno = 0;
00041   dEmcEvent[0].serialno = 1;
00042   dEmcEvent[0].impact = 0.0;
00043 
00044   for (i = 0; i < 3; i++)
00045     { 
00046        vertex[i] = 0.0;
00047     } 
00048 
00049   if (dBbcOut_h->nok > 0)
00050     {
00051       vertex[2] = dBbcOut[0].VertexPoint;
00052     }
00053 
00054 #ifdef DEBUG
00055   printf("BBC vertex %f \n", dBbcOut[0].VertexPoint);
00056 #endif
00057 
00058   if (vertex[2] > 100.0 || vertex[2] < -100.0)
00059     {
00060       vertex[2] = 0.0;
00061     }
00062 
00063   for ( i = 0; i < 3; i++)
00064     {
00065       dEmcEvent[0].xyz[i] = vertex[i];
00066     }
00067 
00068   dEmcEvent[0].twrmultlo = 0.0;
00069   dEmcEvent[0].twrmulthi = 0.0;
00070   for (i = 0; i < 3; i++)
00071     {
00072       dEmcEvent[0].trigsum[i] = 0.0;
00073     }
00074   dEmcEvent[0].tote = 0.0;
00075   dEmcEvent[0].totet = 0.0;
00076   dEmcEvent_h->nok = 1;
00077 
00078   return STAFCV_OK;
00079 }