00001 #include "TSpadicV10Rec.h" 00002 00003 00004 TSpadicV10Rec::TSpadicV10Rec() 00005 { 00006 fActive = false; 00007 00008 // fSpadicV10Id = 0; 00009 00010 //fCurrEpoch = 0; 00011 00012 fMsgTypes = 0; 00013 00014 fTrigTypes = 0; 00015 fStopTypes = 0; 00016 fInfoTypes = 0; 00017 00018 fSpadic_trace2D = 0; 00019 fTrigger_Chs = 0; 00020 for (int ch = 0; ch < MAX_SPADICV10CHANNELS; ch++) { 00021 fSpadic_trace[ch] = 0; 00022 fSpadic_trace_clean[ch] = 0; 00023 fSpadic_ADCdist[ch] = 0; 00024 fLastTm[ch] = 0; 00025 } 00026 00027 } 00028 00029 00030 // ================================================================== 00031 00032 TSpadicV10BoardRec::TSpadicV10BoardRec() 00033 { 00034 fActive = false; 00035 00036 fMsgCnt = 0; 00037 fMsgTypes = 0; 00038 fAUXch = 0; 00039 00040 for (unsigned nsync=0; nsync<MAX_SPADICV10_SYNC; nsync++) { 00041 fSYNCt[nsync] = 0; 00042 fLastSyncTm[nsync] = 0; 00043 fLastSyncId[nsync] = 0; 00044 } 00045 00046 for (unsigned naux=0; naux<MAX_SPADICV10_AUX; naux++) { 00047 fAUXt[naux] = 0; 00048 fLastAuxTm[naux] = 0; 00049 } 00050 fSysTypes = 0; 00051 00052 fTrigger = 0; 00053 fTrigger_100 = 0; // histogram for trigger time diff 00054 fTriggerWind = 0; // time window to assign hits to event (relative to last trigger) 00055 fEvntMultipl = 0; 00056 00057 fIsEventComplete = kFALSE; 00058 fHasNewData = kFALSE; 00059 fHasNewTrigger = kFALSE; 00060 fHasEndOfBuffer = kFALSE; 00061 00062 fTriggersPerBuffer = 0; 00063 fLoopsPerBuffer = 0; 00064 00065 fStartSyncTm = 0; 00066 fStopSyncTm = 0; 00067 fDabcSeparator = -1; 00068 00069 fLastTriggerTm = 0; 00070 } 00071 00072 00073 void TSpadicV10BoardRec::MakeSpadicsVector(UInt_t mask) 00074 { 00075 fActive = mask!=0; 00076 if (!fActive) return; 00077 00078 UInt_t dmask(mask); 00079 unsigned numspid(0); 00080 00081 while (dmask!=0) { 00082 dmask = dmask << 1; 00083 numspid++; 00084 } 00085 00086 dmask = mask; 00087 for (unsigned spid = 0; spid < numspid; spid++) { 00088 SPADICS.push_back(TSpadicV10Rec()); 00089 00090 SPADICS[spid].fActive = (dmask & 1) != 0; 00091 00092 dmask = dmask << 1; 00093 } 00094 00095 }