TClonesArray &pt=*recp;
AliITS *aliITS = (AliITS*)gAlice->GetModule("ITS");
AliITSgeom *gm = aliITS->GetITSgeom();
- const Float_t kdEdXtoQ = 2.778e+8;
+ const Float_t kdEdXtoQ = 1.0e+6; // GeV->KeV
Int_t lay,lad,det;
gm->GetModuleId(module,lay,lad,det);
if ( (hitdestep+deltaDe) > thrde ){
locals[0] += deltaXl;
locals[2] += deltaZl;
- AliITSRecPoint rp(gm);
- rp.SetLabel(hit->GetTrack(),0);
- // rp.fTracks[0]=mod->GetHitTrackIndex(ihit);
- rp.SetLabel(-3,1);
- rp.SetLabel(-3,2);
- rp.SetXZ(module,locals[0],locals[2]);
- rp.SetdEdX(hitdestep+deltaDe);
- rp.SetQ(kdEdXtoQ*(hitdestep+deltaDe)); // number of e
- rp.SetSigmaDetLocX2(sigmarphi*sigmarphi);
- rp.SetSigmaZ2(sigmaz*sigmaz);
- rp.SetDetectorIndex(ind);
- rp.SetLayer(lyr);
+ Int_t lab[4] = {hit->GetTrack(),-3,-3,ind};
+ Float_t q=kdEdXtoQ*(hitdestep+deltaDe);
+ if(hitlay<3) q=1.; // SPD binary readout
+ Float_t hitv[6] = {locals[0],locals[2],sigmarphi*sigmarphi,sigmaz*sigmaz,q,q};
+ Int_t info[3] = {0,0,lyr};
+ AliITSRecPoint rp(lab,hitv,info,kTRUE);
+
new (pt[irecp]) AliITSRecPoint(rp);
irecp++;
} // end if ( (hitdestep+deltaDe)