2. Peaks finder: loop over 36 strips in one layer, produces sorted list of 1-dim peaks  with
    energy above Õpeak_threshold'

  npeak = 0;
  for(i=0; i<36; i++)  {
    if(strip[i].energy > strip_threshold)  {
      if(strip1 == 0) strip1 = i;
      nstrip++;
      sumadc = sumadc + strip[i].energy;
      str  = str + (i+0.5)*strip[i].energy;
      rstrip = rstrip + (i+0.5)*(i+0.5)*strip[i].energy;
      sumtdc = sumtdc + strip[i].time;
      if(i >= max || strip[i+1].energy <= strip_threshold)  {
        npeak++;
        str = str/sumadc;

        peak[npeak].strip1 = strip1;
        peak[npeak].stripn = nstrip;
        peak[npeak].coord  = str;
        peak[npeak].energy = sumadc;
        peak[npeak].time   = sumtdc/nstrip;

        rstrip = rstrip/sumadc - str*str;
        rstrip = (rstrip > (1./12.)) ? rstrip : (1./12.);
        peak[npeak].width = sqrt(rstrip);
        strip1 = 0;
        nstrip = 0;
        str  = 0.0;
        sumadc = 0.0;
        sumtdc = 0.0;
        rstrip = 0.0;
      }
    }
  }
  npeak++;
  qsort((void *)peak, npeak, sizeof(ECPeak), (int (*) (const void *, const void *))peak_compare);
  npeak = 0;
  while(peak[npeak].energy > peak_threshold) npeak++;
ÔOfflineÕ algorithm (cont.)