#include "AliRawDataHeaderSim.h"
#include "AliITSRawStreamSPD.h"
#include "AliITSRawStreamSDD.h"
+#include "AliITSDDLModuleMapSDD.h"
#include "AliITSRawStreamSSD.h"
#include "AliITSIntMap.h"
#include "AliBitPacking.h"
Int_t chipLow = AliITSRawStreamSPD::GetOnlineChipFromOffline(mod,0);
Int_t chipHigh = AliITSRawStreamSPD::GetOnlineChipFromOffline(mod,159);
+
if (chipLow>chipHigh) {chipLow -= 4; chipHigh += 4;}
UInt_t hs = AliITSRawStreamSPD::GetOnlineHSFromOffline(mod);
// insert digit into map...
// (reverse order of cols and rows as in real raw data)
- digMap->Insert(chip*256*32+(32-col)*256+(256-row),row);
+ digMap->Insert(chip*256*32+(31-col)*256+(255-row),row);
}
}
for (UInt_t nHit=0; nHit<nrHits; nHit++) {
Int_t key = digMap->GetKeyIndex(nHit);
chip = key/(256*32);
- Int_t col = 32 - (key%(256*32))/256;
+ Int_t col = 31 - (key%(256*32))/256;
Int_t row = digMap->GetValIndex(nHit);
if(previousChip==-1) { // first hit
AliRawDataHeaderSim header;
//loop over DDLs
- for(Int_t i=0;i<AliDAQ::NumberOfDdls("ITSSPD");i++){
- strcpy(fileName,AliDAQ::DdlFileName("ITSSPD",i)); //The name of the output file.
+ for(Int_t ddl=0;ddl<AliDAQ::NumberOfDdls("ITSSPD");ddl++){
+ strcpy(fileName,AliDAQ::DdlFileName("ITSSPD",ddl)); //The name of the output file.
outfile = new AliFstream(fileName);
//write Dummy DATA HEADER
UInt_t dataHeaderPosition=outfile->Tellp();
outfile->WriteBuffer((char*)(&header),sizeof(header));
//Loops over Modules of a particular DDL
for (Int_t mod=0; mod<AliITSRawStreamSPD::kModulesPerDDL; mod++){
- Int_t moduleNumber = AliITSRawStreamSPD::GetModuleNumber(i, mod);
+ Int_t moduleNumber = AliITSRawStreamSPD::GetModuleNumber(ddl, mod);
digits->Clear();
branch->GetEvent(moduleNumber);
//For each Module, buf contains the array of data words in Binary format
//fIndex gives the number of 32 bits words in the buffer for each module
- GetDigitsSPD(digits,mod,i,buf);
+ GetDigitsSPD(digits,moduleNumber,ddl,buf);
outfile->WriteBuffer((char *)buf,((fIndex+1)*sizeof(UInt_t)));
for(Int_t i=0;i<(fIndex+1);i++){
buf[i]=0;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-Int_t AliITSDDLRawData::RawDataSDD(TBranch* branch){
+Int_t AliITSDDLRawData::RawDataSDD(TBranch* branch, AliITSDDLModuleMapSDD* ddlsdd){
//This method creates the Raw data files for SDD detectors
const Int_t kSize=131072; //256*512
UInt_t buf[kSize];
//Loops over Modules of a particular DDL
for (Int_t mod=0; mod<AliITSRawStreamSDD::kModulesPerDDL; mod++){
- Int_t moduleNumber = AliITSRawStreamSDD::GetModuleNumber(i, mod);
+ Int_t moduleNumber = ddlsdd->GetModuleNumber(i, mod);
if(moduleNumber!=-1){
digits->Clear();
branch->GetEvent(moduleNumber);
}//end else
return;
}//end WriteHit
-