#include "AliITSRawStreamSDDCompressed.h"
#include "AliRawReader.h"
#include "AliLog.h"
ClassImp(AliITSRawStreamSDDCompressed)
AliITSRawStreamSDDCompressed::AliITSRawStreamSDDCompressed(AliRawReader* rawReader) :
AliITSRawStream(rawReader),
fDDLModuleMap(0),
fData(0),
fCarlosId(-1),
fChannel(0),
fJitter(0),
fDDL(0),
fADCEncoded(0)
{
for(Int_t im=0;im<kSDDModules;im++){
fLowThresholdArray[im][0]=0;
fLowThresholdArray[im][1]=0;
}
fRawReader->Reset();
fRawReader->Select("ITSSDD");
}
AliITSRawStreamSDDCompressed::AliITSRawStreamSDDCompressed(const AliITSRawStreamSDDCompressed& rs) :
AliITSRawStream(rs.fRawReader),
fDDLModuleMap(rs.fDDLModuleMap),
fData(0),
fCarlosId(-1),
fChannel(0),
fJitter(0),
fDDL(0),
fADCEncoded(0)
{
AliError("Copy constructor should not be used.");
}
AliITSRawStreamSDDCompressed& AliITSRawStreamSDDCompressed::operator=(const AliITSRawStreamSDDCompressed& rs) {
if (this!=&rs) {}
AliError("Assignment opertator should not be used.");
return *this;
}
AliITSRawStreamSDDCompressed::~AliITSRawStreamSDDCompressed(){
if(fDDLModuleMap) delete fDDLModuleMap;
}
Int_t AliITSRawStreamSDDCompressed::DecompAmbra(Int_t value) const
{
if ((value & 0x80) == 0) {
return value & 0x7f;
} else if ((value & 0x40) == 0) {
if(value&1) return 0x080 + ((value & 0x3f) << 1);
return 0x081 + ((value & 0x3f) << 1);
} else if ((value & 0x20) == 0) {
if(value&1) return 0x103 + ((value & 0x1f) << 3);
return 0x104 + ((value & 0x1f) << 3);
} else {
if(value&1) return 0x207 + ((value & 0x1f) << 4);
return 0x208 + ((value & 0x1f) << 4);
}
}
Bool_t AliITSRawStreamSDDCompressed::Next()
{
UInt_t idJit=8;
UInt_t idEom=15;
UInt_t idJtag=12;
UInt_t maskmod=15;
UInt_t maskCarlos=15<<27;
UInt_t maskSide=1<<26;
UInt_t maskAnode=255<<18;
UInt_t maskTb=255<<10;
UInt_t maskADC=1023;
UInt_t maskCode=7;
while(kTRUE){
if (!fRawReader->ReadNextInt(fData)) return kFALSE;
UInt_t mostsigbits=fData>>28;
if(fData==0xFFFFFFFF){
} else if(mostsigbits==idEom){
fCarlosId=fData&maskmod;
fDDL=fRawReader->GetDDLID();
if(fDDL<0) return kFALSE;
fModuleID = GetModuleNumber(fDDL,fCarlosId);
fCompletedDDL=kFALSE;
fCompletedModule=kTRUE;
return kTRUE;
} else if(mostsigbits==idJit){
fJitter = fData&0x000000ff;
fCompletedModule=kFALSE;
fCompletedDDL=kTRUE;
return kTRUE;
} else if(mostsigbits==idJtag){
continue;
}else if(mostsigbits<8){
fCarlosId=(fData&maskCarlos)>>27;
fDDL=fRawReader->GetDDLID();
if(fDDL<0) return kFALSE;
fModuleID = GetModuleNumber(fDDL,fCarlosId);
fChannel=(fData&maskSide)>>26;
fCoord1=(fData&maskAnode)>>18;
fCoord2=(fData&maskTb)>>10;
Int_t sig8bit;
if(fADCEncoded){
UInt_t code=fData&maskCode;
if (code < 2 || code > 7){
AliError(Form("Wrong ADC code value %d",code));
continue;
}
UInt_t adcmask=(1<<code)-1;
sig8bit=((fData&(adcmask<<3))>>3) + (1<<code);
}else{
sig8bit=fData&maskADC;
}
sig8bit+=fLowThresholdArray[fModuleID-kSPDModules][fChannel];
fSignal=DecompAmbra(sig8bit);
fCompletedModule=kFALSE;
fCompletedDDL=kFALSE;
return kTRUE;
}
}
return kFALSE;
}
AliITSRawStreamSDDCompressed.cxx:1 AliITSRawStreamSDDCompressed.cxx:2 AliITSRawStreamSDDCompressed.cxx:3 AliITSRawStreamSDDCompressed.cxx:4 AliITSRawStreamSDDCompressed.cxx:5 AliITSRawStreamSDDCompressed.cxx:6 AliITSRawStreamSDDCompressed.cxx:7 AliITSRawStreamSDDCompressed.cxx:8 AliITSRawStreamSDDCompressed.cxx:9 AliITSRawStreamSDDCompressed.cxx:10 AliITSRawStreamSDDCompressed.cxx:11 AliITSRawStreamSDDCompressed.cxx:12 AliITSRawStreamSDDCompressed.cxx:13 AliITSRawStreamSDDCompressed.cxx:14 AliITSRawStreamSDDCompressed.cxx:15 AliITSRawStreamSDDCompressed.cxx:16 AliITSRawStreamSDDCompressed.cxx:17 AliITSRawStreamSDDCompressed.cxx:18 AliITSRawStreamSDDCompressed.cxx:19 AliITSRawStreamSDDCompressed.cxx:20 AliITSRawStreamSDDCompressed.cxx:21 AliITSRawStreamSDDCompressed.cxx:22 AliITSRawStreamSDDCompressed.cxx:23 AliITSRawStreamSDDCompressed.cxx:24 AliITSRawStreamSDDCompressed.cxx:25 AliITSRawStreamSDDCompressed.cxx:26 AliITSRawStreamSDDCompressed.cxx:27 AliITSRawStreamSDDCompressed.cxx:28 AliITSRawStreamSDDCompressed.cxx:29 AliITSRawStreamSDDCompressed.cxx:30 AliITSRawStreamSDDCompressed.cxx:31 AliITSRawStreamSDDCompressed.cxx:32 AliITSRawStreamSDDCompressed.cxx:33 AliITSRawStreamSDDCompressed.cxx:34 AliITSRawStreamSDDCompressed.cxx:35 AliITSRawStreamSDDCompressed.cxx:36 AliITSRawStreamSDDCompressed.cxx:37 AliITSRawStreamSDDCompressed.cxx:38 AliITSRawStreamSDDCompressed.cxx:39 AliITSRawStreamSDDCompressed.cxx:40 AliITSRawStreamSDDCompressed.cxx:41 AliITSRawStreamSDDCompressed.cxx:42 AliITSRawStreamSDDCompressed.cxx:43 AliITSRawStreamSDDCompressed.cxx:44 AliITSRawStreamSDDCompressed.cxx:45 AliITSRawStreamSDDCompressed.cxx:46 AliITSRawStreamSDDCompressed.cxx:47 AliITSRawStreamSDDCompressed.cxx:48 AliITSRawStreamSDDCompressed.cxx:49 AliITSRawStreamSDDCompressed.cxx:50 AliITSRawStreamSDDCompressed.cxx:51 AliITSRawStreamSDDCompressed.cxx:52 AliITSRawStreamSDDCompressed.cxx:53 AliITSRawStreamSDDCompressed.cxx:54 AliITSRawStreamSDDCompressed.cxx:55 AliITSRawStreamSDDCompressed.cxx:56 AliITSRawStreamSDDCompressed.cxx:57 AliITSRawStreamSDDCompressed.cxx:58 AliITSRawStreamSDDCompressed.cxx:59 AliITSRawStreamSDDCompressed.cxx:60 AliITSRawStreamSDDCompressed.cxx:61 AliITSRawStreamSDDCompressed.cxx:62 AliITSRawStreamSDDCompressed.cxx:63 AliITSRawStreamSDDCompressed.cxx:64 AliITSRawStreamSDDCompressed.cxx:65 AliITSRawStreamSDDCompressed.cxx:66 AliITSRawStreamSDDCompressed.cxx:67 AliITSRawStreamSDDCompressed.cxx:68 AliITSRawStreamSDDCompressed.cxx:69 AliITSRawStreamSDDCompressed.cxx:70 AliITSRawStreamSDDCompressed.cxx:71 AliITSRawStreamSDDCompressed.cxx:72 AliITSRawStreamSDDCompressed.cxx:73 AliITSRawStreamSDDCompressed.cxx:74 AliITSRawStreamSDDCompressed.cxx:75 AliITSRawStreamSDDCompressed.cxx:76 AliITSRawStreamSDDCompressed.cxx:77 AliITSRawStreamSDDCompressed.cxx:78 AliITSRawStreamSDDCompressed.cxx:79 AliITSRawStreamSDDCompressed.cxx:80 AliITSRawStreamSDDCompressed.cxx:81 AliITSRawStreamSDDCompressed.cxx:82 AliITSRawStreamSDDCompressed.cxx:83 AliITSRawStreamSDDCompressed.cxx:84 AliITSRawStreamSDDCompressed.cxx:85 AliITSRawStreamSDDCompressed.cxx:86 AliITSRawStreamSDDCompressed.cxx:87 AliITSRawStreamSDDCompressed.cxx:88 AliITSRawStreamSDDCompressed.cxx:89 AliITSRawStreamSDDCompressed.cxx:90 AliITSRawStreamSDDCompressed.cxx:91 AliITSRawStreamSDDCompressed.cxx:92 AliITSRawStreamSDDCompressed.cxx:93 AliITSRawStreamSDDCompressed.cxx:94 AliITSRawStreamSDDCompressed.cxx:95 AliITSRawStreamSDDCompressed.cxx:96 AliITSRawStreamSDDCompressed.cxx:97 AliITSRawStreamSDDCompressed.cxx:98 AliITSRawStreamSDDCompressed.cxx:99 AliITSRawStreamSDDCompressed.cxx:100 AliITSRawStreamSDDCompressed.cxx:101 AliITSRawStreamSDDCompressed.cxx:102 AliITSRawStreamSDDCompressed.cxx:103 AliITSRawStreamSDDCompressed.cxx:104 AliITSRawStreamSDDCompressed.cxx:105 AliITSRawStreamSDDCompressed.cxx:106 AliITSRawStreamSDDCompressed.cxx:107 AliITSRawStreamSDDCompressed.cxx:108 AliITSRawStreamSDDCompressed.cxx:109 AliITSRawStreamSDDCompressed.cxx:110 AliITSRawStreamSDDCompressed.cxx:111 AliITSRawStreamSDDCompressed.cxx:112 AliITSRawStreamSDDCompressed.cxx:113 AliITSRawStreamSDDCompressed.cxx:114 AliITSRawStreamSDDCompressed.cxx:115 AliITSRawStreamSDDCompressed.cxx:116 AliITSRawStreamSDDCompressed.cxx:117 AliITSRawStreamSDDCompressed.cxx:118 AliITSRawStreamSDDCompressed.cxx:119 AliITSRawStreamSDDCompressed.cxx:120 AliITSRawStreamSDDCompressed.cxx:121 AliITSRawStreamSDDCompressed.cxx:122 AliITSRawStreamSDDCompressed.cxx:123 AliITSRawStreamSDDCompressed.cxx:124 AliITSRawStreamSDDCompressed.cxx:125 AliITSRawStreamSDDCompressed.cxx:126 AliITSRawStreamSDDCompressed.cxx:127 AliITSRawStreamSDDCompressed.cxx:128 AliITSRawStreamSDDCompressed.cxx:129 AliITSRawStreamSDDCompressed.cxx:130 AliITSRawStreamSDDCompressed.cxx:131 AliITSRawStreamSDDCompressed.cxx:132 AliITSRawStreamSDDCompressed.cxx:133 AliITSRawStreamSDDCompressed.cxx:134 AliITSRawStreamSDDCompressed.cxx:135 AliITSRawStreamSDDCompressed.cxx:136 AliITSRawStreamSDDCompressed.cxx:137 AliITSRawStreamSDDCompressed.cxx:138 AliITSRawStreamSDDCompressed.cxx:139 AliITSRawStreamSDDCompressed.cxx:140 AliITSRawStreamSDDCompressed.cxx:141 AliITSRawStreamSDDCompressed.cxx:142 AliITSRawStreamSDDCompressed.cxx:143 AliITSRawStreamSDDCompressed.cxx:144 AliITSRawStreamSDDCompressed.cxx:145 AliITSRawStreamSDDCompressed.cxx:146 AliITSRawStreamSDDCompressed.cxx:147 AliITSRawStreamSDDCompressed.cxx:148 AliITSRawStreamSDDCompressed.cxx:149 AliITSRawStreamSDDCompressed.cxx:150 AliITSRawStreamSDDCompressed.cxx:151 AliITSRawStreamSDDCompressed.cxx:152 AliITSRawStreamSDDCompressed.cxx:153 AliITSRawStreamSDDCompressed.cxx:154 AliITSRawStreamSDDCompressed.cxx:155 AliITSRawStreamSDDCompressed.cxx:156 AliITSRawStreamSDDCompressed.cxx:157 AliITSRawStreamSDDCompressed.cxx:158 AliITSRawStreamSDDCompressed.cxx:159 AliITSRawStreamSDDCompressed.cxx:160 AliITSRawStreamSDDCompressed.cxx:161 AliITSRawStreamSDDCompressed.cxx:162 AliITSRawStreamSDDCompressed.cxx:163 AliITSRawStreamSDDCompressed.cxx:164 AliITSRawStreamSDDCompressed.cxx:165 AliITSRawStreamSDDCompressed.cxx:166 AliITSRawStreamSDDCompressed.cxx:167 AliITSRawStreamSDDCompressed.cxx:168 AliITSRawStreamSDDCompressed.cxx:169 AliITSRawStreamSDDCompressed.cxx:170 AliITSRawStreamSDDCompressed.cxx:171 AliITSRawStreamSDDCompressed.cxx:172 AliITSRawStreamSDDCompressed.cxx:173 AliITSRawStreamSDDCompressed.cxx:174 AliITSRawStreamSDDCompressed.cxx:175 AliITSRawStreamSDDCompressed.cxx:176 AliITSRawStreamSDDCompressed.cxx:177 AliITSRawStreamSDDCompressed.cxx:178 AliITSRawStreamSDDCompressed.cxx:179 AliITSRawStreamSDDCompressed.cxx:180 AliITSRawStreamSDDCompressed.cxx:181 AliITSRawStreamSDDCompressed.cxx:182 AliITSRawStreamSDDCompressed.cxx:183 AliITSRawStreamSDDCompressed.cxx:184 AliITSRawStreamSDDCompressed.cxx:185 AliITSRawStreamSDDCompressed.cxx:186 AliITSRawStreamSDDCompressed.cxx:187 AliITSRawStreamSDDCompressed.cxx:188 AliITSRawStreamSDDCompressed.cxx:189 AliITSRawStreamSDDCompressed.cxx:190 AliITSRawStreamSDDCompressed.cxx:191 AliITSRawStreamSDDCompressed.cxx:192 AliITSRawStreamSDDCompressed.cxx:193 AliITSRawStreamSDDCompressed.cxx:194 AliITSRawStreamSDDCompressed.cxx:195 AliITSRawStreamSDDCompressed.cxx:196 AliITSRawStreamSDDCompressed.cxx:197 AliITSRawStreamSDDCompressed.cxx:198 AliITSRawStreamSDDCompressed.cxx:199 AliITSRawStreamSDDCompressed.cxx:200 AliITSRawStreamSDDCompressed.cxx:201 AliITSRawStreamSDDCompressed.cxx:202 AliITSRawStreamSDDCompressed.cxx:203 AliITSRawStreamSDDCompressed.cxx:204 AliITSRawStreamSDDCompressed.cxx:205 AliITSRawStreamSDDCompressed.cxx:206 AliITSRawStreamSDDCompressed.cxx:207 AliITSRawStreamSDDCompressed.cxx:208 AliITSRawStreamSDDCompressed.cxx:209 AliITSRawStreamSDDCompressed.cxx:210 AliITSRawStreamSDDCompressed.cxx:211 AliITSRawStreamSDDCompressed.cxx:212 AliITSRawStreamSDDCompressed.cxx:213 AliITSRawStreamSDDCompressed.cxx:214 AliITSRawStreamSDDCompressed.cxx:215 AliITSRawStreamSDDCompressed.cxx:216 AliITSRawStreamSDDCompressed.cxx:217 AliITSRawStreamSDDCompressed.cxx:218 AliITSRawStreamSDDCompressed.cxx:219 AliITSRawStreamSDDCompressed.cxx:220