diff --git a/src/THcScalerEvtHandler.cxx b/src/THcScalerEvtHandler.cxx index 91d6ca51fde7e4b694d3d74405897f0ecee7bd89..a84380c3e5a765004fb016e2bc856ace048128f3 100644 --- a/src/THcScalerEvtHandler.cxx +++ b/src/THcScalerEvtHandler.cxx @@ -61,19 +61,16 @@ using namespace Decoder; static const UInt_t ICOUNT = 1; static const UInt_t IRATE = 2; static const UInt_t MAXCHAN = 32; -static const UInt_t MAXTEVT = 5000; static const UInt_t defaultDT = 4; THcScalerEvtHandler::THcScalerEvtHandler(const char *name, const char* description) : THaEvtTypeHandler(name,description), evcount(0), ifound(0), fNormIdx(-1), dvars(0), dvarsFirst(0), fScalerTree(0), fUseFirstEvent(kFALSE) { - rdata = new UInt_t[MAXTEVT]; } THcScalerEvtHandler::~THcScalerEvtHandler() { - delete [] rdata; if (fScalerTree) { delete fScalerTree; } @@ -130,19 +127,11 @@ Int_t THcScalerEvtHandler::Analyze(THaEvData *evdata) // Parse the data, load local data arrays. - Int_t ndata = evdata->GetEvLength(); - if (ndata >= static_cast<Int_t>(MAXTEVT)) { - cout << "THcScalerEvtHandler:: ERROR: Event length crazy "<<endl; - ndata = MAXTEVT-1; - } + UInt_t *rdata = (UInt_t*) evdata->GetRawDataBuffer(); if (fDebugFile) *fDebugFile<<"\n\nTHcScalerEvtHandler :: Debugging event type "<<dec<<evdata->GetEvType()<<endl<<endl; - // local copy of data - // Why do we need a local copy of the data? - for (Int_t i=0; i<ndata; i++) rdata[i] = evdata->GetRawData(i); - - UInt_t *p = rdata; + UInt_t *p = (UInt_t*) rdata; UInt_t *plast = p+*p; // Index to last word in the bank diff --git a/src/THcScalerEvtHandler.h b/src/THcScalerEvtHandler.h index 41078c6db0aeec4aabad5e5128bd66ac788fa62f..c4c0c44c52e25126118ded40175470793577b798 100644 --- a/src/THcScalerEvtHandler.h +++ b/src/THcScalerEvtHandler.h @@ -47,7 +47,6 @@ private: std::vector<Decoder::GenScaler*> scalers; std::vector<HCScalerLoc*> scalerloc; Double_t evcount; - UInt_t *rdata; std::vector<Int_t> index; Int_t Nvars, ifound, fNormIdx, nscalers; Double_t *dvars;