Float_t zdet = GetSeg()->GetLocalZFromAnode(zAnode);
Float_t driftTimeUncorr = GetSeg()->GetDriftTimeFromTb(timebin)+jitter*rsdd->GetCarlosRXClockPeriod();
Float_t driftTime=driftTimeUncorr-rsdd->GetTimeZero(fModule);
- Float_t driftPathMicron = cal->GetDriftPath(driftTime,zAnode);
+ Float_t driftSpeed = cal->GetDriftSpeedAtAnode(zAnode) + rsdd->GetDeltaVDrift(fModule);
+ Float_t driftPathMicron = driftTime*driftSpeed;
const Double_t kMicronTocm = 1.0e-4;
Float_t xdet=(driftPathMicron-GetSeg()->Dx())*kMicronTocm; // xdet is negative
if (s==0) xdet=-xdet; // left side has positive local x
- Float_t corrx=0, corrz=0;
- cal->GetCorrections(zdet,xdet,corrz,corrx,GetSeg());
- zdet+=corrz;
- xdet+=corrx;
+ if(repa->GetUseSDDCorrectionMaps()){
+ Float_t corrx=0, corrz=0;
+ cal->GetCorrections(zdet,xdet,corrz,corrx,GetSeg());
+ zdet+=corrz;
+ xdet+=corrx;
+ }
Double_t loc[3]={xdet,0.,zdet},trk[3]={0.,0.,0.};
mT2L->MasterToLocal(loc,trk);