#include "EEstarTrig.h"
//#include <Stiostream.h>
ClassImp(EEstarTrig)
//--------------------------------------------------
//
//--------------------------------------------------
EEstarTrig::EEstarTrig() {
clear();
}
//--------------------------------------------------
//
//--------------------------------------------------
EEstarTrig :: ~EEstarTrig() { }
//--------------------------------------------------
//
//--------------------------------------------------
void EEstarTrig::clear() {
#define clearVec(x) memset( x, 0, sizeof(x))
bX48hi=bX48lo=bX7bit=0;
daqbits=0;
clearVec( offline_id );
clearVec( EEMC );
clearVec( EEMC_l1 );
clearVec( BEMC );
clearVec( BEMC_l1 );
clearVec( lastDSM );
clearVec( VTX );
clearVec( EMC );
npre=npost=0;
#undef clearVec
}
//--------------------------------------------------
//
//--------------------------------------------------
void EEstarTrig::print(int k, FILE *fd) const{
// printf("EEstarTrig::print0() %d %d %d n",bX48hi,bX48lo, bX7bit);
unsigned long long int hi=bX48hi;
unsigned long long int lo=bX48lo;
unsigned long long int bx48=hi<<32;
bx48+= lo;
int bx=bx48%120;
int off=bx-bX7bit;
if(off<0) off+=120;
fprintf(fd,"EEstarTrig::print() bX=%d bX7=%d off=%dn",bx,bX7bit,off);
if(k<=0) return;
int ii;
fprintf(fd," daqBits=0x%x npre=%d npost=%dn",daqbits,npre,npost);
fprintf(fd," trigID[] --> ");
for(ii=0;ii<32;ii++) {
if(offline_id[ii]==0) break;
fprintf(fd,"[%2d]=0x%02X [%u dec], ",ii,offline_id[ii],offline_id[ii]);
if(ii%4==3) printf("n ");
}
fprintf(fd,"n");
fprintf(fd," bbcTimeDiff=%d spinBits=x%2.2x lastDSM[7]=x%4.4xn",bbcTimeDiff(), spinBits(),lastDSM[7]);
fprintf(fd," Yell fill=%d Up=%d Down=%d UnPol=%d n",bitYellFill() ,bitYellUp(),bitYellDown(), bitYellUnpol());
fprintf(fd," Blue fill=%d Up=%d Down=%d UnPol=%d n",bitBlueFill() ,bitBlueUp(),bitBlueDown(), bitBlueUnpol());
if(k<=1) return;
for(ii=0;ii<144;ii++) {
if(ii%16==8) printf(" , ");
if(ii%16==0) printf("n EEMC board-%d= ",ii/16+1);
fprintf(fd,"x%2.2x ", EEMC[ii]);
}
fprintf(fd,"n");
int j;
fprintf(fd," DSM VTX[j] = ");
for (j=0; j<8; j++) printf("[%d]=x%4.4x ",j, VTX[j]);
fprintf(fd,"n");
fprintf(fd," emcDSM[j]= ");
for (j=0; j<8; j++) printf("[%d]=x%4.4x ",j, EMC[j]);
fprintf(fd,"n");
fprintf(fd," lastDSM[j]= ");
for (j=0; j<8; j++) printf("[%d]=x%4.4x ",j, lastDSM[j]);
fprintf(fd,"n");
}
//--------------------------------------------------
//--------------------------------------------------
int EEstarTrig::isTrigID(int trigId) { // works only for 2003 data
int i;
for(i=0;i<32;i++) {
if(trigId==offline_id[i]) return 1;
if(offline_id[i]<=0) break; // no more triggers in the list
}
return 0;
}
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.