00001
00002 #include <stdio.h>
00003 #include <assert.h>
00004 #include <string.h>
00005 #include <stdlib.h>
00006 #include <iostream>
00007 using namespace std;
00008
00009 #include <TObjArray.h>
00010
00011 #include "Tonko2Ezt.h"
00012
00013 #ifndef NEW_DAQ_READER
00014 # include "evpReader.hh"
00015 # include "emcReader.h"
00016 #else
00017 # include "DAQ_READER/daqReader.h"
00018 # include "DAQ_READER/daq_dta.h"
00019 # include "DAQ_EMC/daq_emc.h"
00020 # include "DAQ_ETOW/daq_etow.h"
00021 # include "DAQ_ESMD/daq_esmd.h"
00022 #endif
00023
00024
00025
00026 Tonko2Ezt::Tonko2Ezt(char *rdrc) {
00027 eETowPresent = false;
00028 eESmdPresent = false;
00029 #ifdef NEW_DAQ_READER
00030 daqReader *rdr = (daqReader*)(rdrc);
00031 #endif
00032
00033 #ifdef NEW_DAQ_READER
00034 daq_dta *dd_etow = rdr ? (rdr->det("etow")->get("adc")) : 0;
00035 if (dd_etow) while (dd_etow->iterate()) {
00036 etow_t *d = (etow_t *) dd_etow->Void;
00037 if (d) {
00038 #else
00039 if (emc.etow_in) {
00040 {
00041 #endif
00042 for(int ib = 0;ib < ETOW_MAXFEE;ib++) {
00043 eETow.createBank(ib,ETOW_PRESIZE,ETOW_DATSIZE);
00044 #ifdef NEW_DAQ_READER
00045 eETow.setHeader(ib,(unsigned short*)&(d->preamble[ib][0]));
00046 eETow.setData(ib,(unsigned short*)&(d->adc[ib][0]));
00047 #else
00048 eETow.setHeader(ib,emc.etow_pre[ib]);
00049 eETow.setData(ib,emc.etow[ib]);
00050 #endif
00051 eETowPresent = true;
00052 }
00053 }
00054 }
00055 #ifdef NEW_DAQ_READER
00056 daq_dta *dd_esmd = rdr ? (rdr->det("esmd")->get("adc")) : 0;
00057 if (dd_esmd) while (dd_esmd->iterate()) {
00058 esmd_t *d = (esmd_t *) dd_esmd->Void;
00059 if (d) {
00060 #else
00061 if (emc.esmd_in) {
00062 {
00063 #endif
00064 for(int ib = 0;ib < ESMD_MAXFEE;ib++) {
00065 eESmd.createBank(ib,ESMD_PRESIZE,ESMD_DATSIZE);
00066 #ifdef NEW_DAQ_READER
00067 eESmd.setHeader(ib,(unsigned short*)&(d->preamble[ib][0]));
00068 eESmd.setData(ib,(unsigned short*)&(d->adc[ib][0]));
00069 #else
00070 eESmd.setHeader(ib,emc.esmd_pre[ib]);
00071 eESmd.setData(ib,emc.esmd[ib]);
00072 #endif
00073 eESmdPresent = true;
00074
00075
00076 }
00077 }
00078 }
00079 }
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101