--- DarthVader/TrackerLevel2/src/ExtTrack.cpp 2014/08/07 16:04:14 1.5 +++ DarthVader/TrackerLevel2/src/ExtTrack.cpp 2014/10/15 08:45:51 1.7 @@ -135,7 +135,7 @@ // cout << " ExtTrack::Copy( ExtTrack& t ) "<0){ - if(xgood) delete [] xgood; - if(ygood) delete [] ygood; - if(multmaxx) delete [] multmaxx; - if(multmaxy) delete [] multmaxy; - if(xm) delete [] xm; - if(ym) delete [] ym; - if(zm) delete [] zm; - if(xma) delete [] xma; - if(yma) delete [] yma; - if(zma) delete [] zma; - if(xmb) delete [] xmb; - if(ymb) delete [] ymb; - if(zmb) delete [] zmb; - if(resx) delete [] resx; - if(resy) delete [] resy; - if(xv) delete [] xv; - if(yv) delete [] yv; - if(zv) delete [] zv; - if(axv) delete [] axv; - if(ayv) delete [] ayv; - if(dedx_x)delete [] dedx_x; - if(dedx_y)delete [] dedx_y; - //} - - xgood = NULL; - ygood = NULL; - multmaxx = NULL; - multmaxy = NULL; - xm = NULL; - ym = NULL; - zm = NULL; - xma = NULL; - yma = NULL; - zma = NULL; - xmb = NULL; - ymb = NULL; - zmb = NULL; - resx = NULL; - resy = NULL; - xv = NULL; - yv = NULL; - zv = NULL; - axv = NULL; - ayv = NULL; - dedx_x = NULL; - dedx_y = NULL; - nplanes = 0; + if (option && option[0] == 'C') { + + + if(xgood) delete [] xgood; + if(ygood) delete [] ygood; + if(multmaxx) delete [] multmaxx; + if(multmaxy) delete [] multmaxy; + if(xm) delete [] xm; + if(ym) delete [] ym; + if(zm) delete [] zm; + if(xma) delete [] xma; + if(yma) delete [] yma; + if(zma) delete [] zma; + if(xmb) delete [] xmb; + if(ymb) delete [] ymb; + if(zmb) delete [] zmb; + if(resx) delete [] resx; + if(resy) delete [] resy; + if(xv) delete [] xv; + if(yv) delete [] yv; + if(zv) delete [] zv; + if(axv) delete [] axv; + if(ayv) delete [] ayv; + if(dedx_x)delete [] dedx_x; + if(dedx_y)delete [] dedx_y; + //} + + xgood = NULL; + ygood = NULL; + multmaxx = NULL; + multmaxy = NULL; + xm = NULL; + ym = NULL; + zm = NULL; + xma = NULL; + yma = NULL; + zma = NULL; + xmb = NULL; + ymb = NULL; + zmb = NULL; + resx = NULL; + resy = NULL; + xv = NULL; + yv = NULL; + zv = NULL; + axv = NULL; + ayv = NULL; + dedx_x = NULL; + dedx_y = NULL; + + nplanes = 0; - // Reset(); + } }; void ExtTrack::Delete(){ - Clear(); + Clear("C"); // delete [] xGF; // delete [] yGF; } @@ -807,6 +817,7 @@ * */ int ExtTrack::GetClusterX_ID(int ip){ + if(ip<0 || ip>=nplanes)return -1; return ((int)fabs(xgood[ip]))%10000000-1; }; /** @@ -814,6 +825,7 @@ * */ int ExtTrack::GetClusterY_ID(int ip){ + if(ip<0 || ip>=nplanes)return -1; return ((int)fabs(ygood[ip]))%10000000-1; }; @@ -823,8 +835,8 @@ * @param iv view (0=x 1=y) */ Float_t ExtTrack::GetDEDX(int ip, int iv){ - if(iv==0 && ip>=0 && ip<6)return fabs(dedx_x[ip]); - else if(iv==1 && ip>=0 && ip<6)return fabs(dedx_y[ip]); + if(iv==0 && ip>=0 && ip=0 && ip3)chiq=chiq/(GetNX()-3); else chiq=0; - if(chiq==0)cout << " Float_t ExtTrack::GetChi2X() -- WARNING -- value not defined "<2)chiq=chiq/(GetNY()-2); else chiq=0; - if(chiq==0)cout << " Float_t ExtTrack::GetChi2Y() -- WARNING -- value not defined "<