Changeset 5833 for trunk/MagicSoft


Ignore:
Timestamp:
01/14/05 10:28:56 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r5832 r5833  
    2121                                                 -*-*- END OF LINE -*-*-
    2222
     23 2005/01/14 Markus Gaug
     24
     25   * msignal/MExtractTimeAndChargeDigitalFilter.cc
     26     - added a small acceleration of the program, tested by Hendrik and
     27       me.
    2328
    2429 2005/01/14 Thomas Bretz
  • trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc

    r5822 r5833  
    246246
    247247  Int_t range = fHiGainLast - fHiGainFirst + 1;
     248  Int_t  maxpos = 0;
    248249 
    249250  const Byte_t *end = ptr + range;
    250251  Byte_t *p     = ptr;
    251   Byte_t maxpos = 0;
    252252  Byte_t max    = 0;
    253253
     
    309309  if (sat > 0)
    310310    return;
    311 
     311 
    312312  //
    313313  // Slide with a window of size fWindowSizeHiGain over the sample
     
    327327    }
    328328 
     329  dtime = 1.0;
     330  const Int_t uplim = range-fWindowSizeHiGain+1;
     331
     332  if (maxpos > uplim)
     333    {
     334      time = uplim+1;
     335      return;
     336    }
     337 
     338  maxpos -= 3;
     339 
     340  if (maxpos < 0)
     341    {
     342      time = 0.;
     343      return;
     344    }
     345     
    329346  Float_t time_sum  = 0.;
    330347  Float_t fmax      = 0.;
     
    333350 
    334351  //
    335   // Calculate the sum of the first fWindowSize slices
    336   //
    337   for (Int_t i=0;i<range-fWindowSizeHiGain+1;i++)
     352  // Perform first only 3 temptative calculations around the maximum!
     353  //
     354  for (Int_t i=maxpos; i<maxpos+fWindowSizeHiGain+3;i++)
    338355    {
    339356      sum      = 0.;
     
    358375        max_p     = i;
    359376      }
    360     } /*   for (Int_t i=0;i<range-fWindowSizeHiGain+1;i++) */
     377    } /*   for (Int_t i=maxpos;i<maxpos+fWindowSizeHiGain+3;i++) */
    361378
    362379  time = 0;
     
    419436  const Byte_t *end = ptr + range;
    420437  Byte_t *p     = ptr;
    421   Byte_t maxpos = 0;
    422   Byte_t max    = 0;
    423 
    424438  //
    425439  // Prepare the low-gain pedestal
     
    438452    {
    439453      *sample++ = (Float_t)*p - pedmean[(ids++ + abflag) & 0x1];
    440 
    441       if (*p > max)
    442         {
    443           max    = *p;
    444           maxpos =  p-ptr;
    445         }
    446454
    447455      if (*p++ >= fSaturationLimit)
Note: See TracChangeset for help on using the changeset viewer.