From 720d923af2952a15e0ee79e8b6d62ea8d6442999 Mon Sep 17 00:00:00 2001 From: prino Date: Fri, 12 Sep 2008 14:30:37 +0000 Subject: [PATCH] Fix bug affecting the data decoding in the DAs (F. Prino) --- ITS/AliITSRawStreamSDD.cxx | 3 --- ITS/AliITSRawStreamSDD.h | 5 ++++- ITS/AliITSRawStreamSDDCompressed.cxx | 2 -- ITS/AliITSRawStreamSDDCompressed.h | 6 +++++- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ITS/AliITSRawStreamSDD.cxx b/ITS/AliITSRawStreamSDD.cxx index c0ad643ef65..75f2e8136ba 100644 --- a/ITS/AliITSRawStreamSDD.cxx +++ b/ITS/AliITSRawStreamSDD.cxx @@ -42,8 +42,6 @@ fEightBitSignal(0), fDecompressAmbra(kTRUE) { // create an object to read ITS SDD raw digits - fDDLModuleMap=new AliITSDDLModuleMapSDD(); - fDDLModuleMap->SetDefaultMap(); Reset(); for(Int_t im=0;imSetDDLMap(ddlsdd);} + virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* ddlsdd){ + if(!fDDLModuleMap) fDDLModuleMap=new AliITSDDLModuleMapSDD(); + fDDLModuleMap->SetDDLMap(ddlsdd);} virtual void SetLowCarlosThreshold(Int_t th, Int_t i) {fLowThreshold[i]=th;} virtual void SetZeroSuppLowThreshold(Int_t iMod, Int_t iSid, Int_t th) {fLowThresholdArray[iMod][iSid]=th;} Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule) const { + if(!fDDLModuleMap) return kSPDModules+1; // dummy module number if the DDL map is not set (case of DAs) return fDDLModuleMap->GetModuleNumber(iDDL,iModule); } virtual void Reset(); diff --git a/ITS/AliITSRawStreamSDDCompressed.cxx b/ITS/AliITSRawStreamSDDCompressed.cxx index 11bf8ac2380..d08f8f93435 100644 --- a/ITS/AliITSRawStreamSDDCompressed.cxx +++ b/ITS/AliITSRawStreamSDDCompressed.cxx @@ -81,8 +81,6 @@ fJitter(0), fDDL(0) { // create an object to read ITS SDD raw digits - fDDLModuleMap=new AliITSDDLModuleMapSDD(); - fDDLModuleMap->SetDefaultMap(); for(Int_t im=0;imSetDDLMap(ddlsdd);} + virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* ddlsdd){ + if(!fDDLModuleMap) fDDLModuleMap=new AliITSDDLModuleMapSDD(); + fDDLModuleMap->SetDDLMap(ddlsdd); + } virtual void SetZeroSuppLowThreshold(Int_t iMod, Int_t iSid, Int_t th) {fLowThresholdArray[iMod][iSid]=th;} Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule) const { + if(!fDDLModuleMap) return kSPDModules+1; // dummy module number if the DDL map is not set (case of DAs) return fDDLModuleMap->GetModuleNumber(iDDL,iModule); } -- 2.39.3