X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSBeamTestDigSSD.cxx;h=9c347534fcca056e121792df24b7e0b018785a73;hb=3b96c7beb28a6455400c395733c3e6cf39877873;hp=7498352d4ecf07eca7ebe912a4a8e052e123e615;hpb=383003020c7baa21061905c2413f0542b33b28cb;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSBeamTestDigSSD.cxx b/ITS/AliITSBeamTestDigSSD.cxx index 7498352d4ec..9c347534fcc 100644 --- a/ITS/AliITSBeamTestDigSSD.cxx +++ b/ITS/AliITSBeamTestDigSSD.cxx @@ -5,23 +5,28 @@ // Date: October 2004 // //////////////////////////////////////// +#include "AliITSgeom.h" #include "AliITSdigitSSD.h" -#include "AliRawReaderDate.h" +#include "AliRawReader.h" #include "AliITSRawStreamSSDv1.h" #include "AliITSBeamTestDigSSD.h" -#include "AliITSBeamTest.h" +#include +#include ClassImp(AliITSBeamTestDigSSD) //_____________________________________________________________ -AliITSBeamTestDigSSD::AliITSBeamTestDigSSD(): AliITSBeamTestDig() { +AliITSBeamTestDigSSD::AliITSBeamTestDigSSD(): AliITSBeamTestDig(), +fFlagHeader(0) +{ // // Constructor // } //_____________________________________________________________ -AliITSBeamTestDigSSD::AliITSBeamTestDigSSD(const Text_t* name, const Text_t* title): AliITSBeamTestDig(name,title) { +AliITSBeamTestDigSSD::AliITSBeamTestDigSSD(const Text_t* name, const Text_t* title): AliITSBeamTestDig(name,title), +fFlagHeader(0){ // // Constructor // @@ -39,25 +44,43 @@ void AliITSBeamTestDigSSD::Exec(Option_t* /*opt*/) { //Reads raw data for SSD, fill SSD digits tree, returns 1 if real data, //returns 2 if calibration (injector) data, returns 3 if calibration (test pul //se) event - TBranch* branch = fTreeD->GetBranch("ITSDigitSSD"); + TBranch* branch = fTreeD->GetBranch("ITSDigitsSSD"); + if(!fITSgeom){ + Error("Exec","fITSgeom is null!"); + return; + } + + Int_t nsdd=0; + Int_t nspd=0; + Int_t nssd=0; + for(Int_t nlay=1;nlay<=fITSgeom->GetNlayers();nlay++){ + for(Int_t nlad=1;nlad<=fITSgeom->GetNladders(nlay);nlad++){ + for(Int_t ndet=1;ndet<=fITSgeom->GetNdetectors(nlay);ndet++){ + Int_t index=fITSgeom->GetModuleIndex(nlay,nlad,ndet); + if(fITSgeom->GetModuleTypeName(index)=="kSPD") nspd++; + if(fITSgeom->GetModuleTypeName(index)=="kSDD") nsdd++; + if(fITSgeom->GetModuleTypeName(index)=="kSSD") nssd++; + } + } + } + Int_t maxn=nspd+nsdd+nssd; - TClonesArray** newdigits = new TClonesArray*[fBt->GetNSSD()]; + TClonesArray** newdigits = new TClonesArray*[maxn]; - Int_t* idig = new Int_t[fBt->GetNSSD()]; + Int_t* idig = new Int_t[maxn]; - for (Int_t idet =0; idet < fBt->GetNSSD();idet++) { + for (Int_t idet =0; idet SelectEquipment(-1); - //fReaderDate->SelectEquipment(17,102,102); + //fReader->SelectEquipment(-1); + //fReader->SelectEquipment(17,102,102); while(str.Next()){ @@ -67,30 +90,32 @@ void AliITSBeamTestDigSSD::Exec(Option_t* /*opt*/) { Int_t strip = str.GetStrip(); Int_t signal = str.GetSignal(); Int_t module = str.GetModuleID(); - if( (module<10) || (module>13) ) continue; + Int_t module1= module-10+nsdd+nspd; + if( (module<10) || (module>13) ) continue; + if(module1>7) continue; const Int_t kdgt[3]={side,strip,signal}; - - // SSD modules 10, 11, 12 and 13 - new ( (*newdigits[module-10])[idig[module-10]] ) AliITSdigitSSD(kdgt); - idig[module-10]++; - + // SSD modules 10, 11, 12 and 13 + new ( (*newdigits[module1])[idig[module1]] ) AliITSdigitSSD(kdgt); + idig[module1]++; } // end while - for(Int_t n=0;nGetNSSD();n++){ + for(Int_t n=0;nSetAddress(&newdigits[n]); branch->Fill(); } - fTreeD->SetEntries(fBt->GetNSPD()+fBt->GetNSDD()+fBt->GetNSSD()); + fTreeD->SetEntries(maxn); - fReaderDate->Reset(); + fReader->Reset(); fTreeD->AutoSave(); - for(Int_t n=0;nGetNSSD();n++){ + for(Int_t n=0;n