#include "PndTrkMergeSort.h" #include #include // Root includes #include "TROOT.h" using namespace std; //----------begin of function PndTrkMergeSort::Merge void PndTrkMergeSort::Merge( Short_t nl, Double_t *left, Int_t *ind_left, Short_t nr, Double_t *right, Int_t *ind_right, Double_t *result, Int_t *ind ) { Short_t i =0, j, nl_curr=0, nr_curr=0; while( nl > 0 && nr >0){ if( left[nl_curr] <= right[nr_curr]){ result[i] = left[nl_curr]; ind[i] = ind_left[nl_curr]; nl--; nl_curr++; } else { result[i] = right [nr_curr]; ind[i] = ind_right [nr_curr]; nr--; nr_curr++; } i++; } //-------------------- if( nl ==0) { for(j=0; j right[0]) { Merge(middle, left,ind_left, n_ele-middle, right, ind_right, array, ind); } else { // do the appending for(i=0; i