Ignore:
Timestamp:
10/15/03 19:15:13 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/manalysis/MCerPhotAnal2.cc

    r2265 r2386  
    2424
    2525//////////////////////////////////////////////////////////////////////////////
    26 //                                                                          //
    27 //   MCerPhotAnal2                                                           //
    28 //                                                                          //
    29 //   This is a task which calculates the number of photons from the FADC    //
    30 //   time slices. At the moment it integrates simply the FADC values.       //
    31 //                                                                          //
    32 //  Input Containers:                                                       //
    33 //   MRawEvtData, MPedesdtalCam                                             //
    34 //                                                                          //
    35 //  Output Containers:                                                      //
    36 //   MCerPhotEvt                                                            //
    37 //                                                                          //
     26//
     27//   MCerPhotAnal2
     28//
     29//   This is a task which calculates the number of photons from the FADC
     30//   time slices. At the moment it integrates simply the FADC values.
     31//
     32//  Input Containers:
     33//   MRawEvtData, MPedestalCam
     34//
     35//  Output Containers:
     36//   MCerPhotEvt
     37//
    3838//////////////////////////////////////////////////////////////////////////////
    3939
     
    134134    while (pixel.Next())
    135135    {
    136         Byte_t max = pixel.GetNumMaxHiGainSample();
    137         Byte_t num = fRawEvt->GetNumHiGainSamples();
    138 
    139         Byte_t *ptr = pixel.GetHiGainSamples();
     136        Byte_t *ptr   = pixel.GetHiGainSamples();
     137        Byte_t *max   = ptr+pixel.GetIdxMaxHiGainSample();
     138        Byte_t *end   = ptr+fRawEvt->GetNumHiGainSamples();
     139        Byte_t *first = max-fBefore;
     140        Byte_t *last  = max+fAfter;
    140141
    141142        ULong_t sumb  = 0;   // sum background
     
    147148        Int_t nb  = 0;
    148149        Int_t nsb = 0;
    149         for (int i=0; i<num; i++)
     150
     151        if (*max==255)
     152            sat++;
     153
     154        while (ptr<end)
    150155        {
    151             if (ptr[i]==255)
    152                 sat++;
    153 
    154             //if (sat>1)
    155             //    continue;
    156 
    157             if (i<max-fBefore || i>max+fAfter)
    158             {
    159                 sumb += ptr[i];
    160                 sqb  += ptr[i]*ptr[i];
     156            if (ptr<first || ptr>last)
     157            {
     158                sumb += *ptr;
     159                sqb  += *ptr* *ptr;
    161160                nb++;
    162161            }
    163162            else
    164163            {
    165                 sumsb += ptr[i];
    166                 sqsb  += ptr[i]*ptr[i];
     164                sumsb += *ptr;
     165                sqsb  += *ptr* *ptr;
    167166                nsb++;
    168167            }
     168            ptr++;
    169169        }
    170170
     
    172172        {
    173173            // Area: x9
    174             max = pixel.GetNumMaxLoGainSample();
    175             num = fRawEvt->GetNumLoGainSamples();
    176 
    177174            ptr = pixel.GetLoGainSamples();
     175            max = ptr+pixel.GetIdxMaxLoGainSample();
     176
     177            if (*max>250)
     178            {
     179                fSkip++;
     180                return kCONTINUE;
     181            }
     182
     183            end   = ptr+fRawEvt->GetNumLoGainSamples();
     184            first = max-fBefore;
     185            last  = max+fAfter;
    178186
    179187            sumsb = 0;   // sum signal+background
     
    184192            //nb = 0;
    185193            nsb = 0;
    186             for (int i=0; i<num; i++)
    187             {
    188                 if (ptr[i]>250)
    189                 {
    190                     fSkip++;
    191                     return kCONTINUE;
    192                 }
    193                 if (i<max-fBefore || i>max+fAfter)
     194            while (ptr<end)
     195            {
     196                if (ptr<first || ptr>last)
    194197                {
    195198                    /*
     199                     // Background already calced from hi-gains!
    196200                    sumb += ptr[i];
    197201                    sqb  += ptr[i]*ptr[i];
     
    200204                else
    201205                {
    202                     sumsb += ptr[i];
    203                     sqsb  += ptr[i]*ptr[i];
     206                    sumsb += *ptr;
     207                    sqsb  += *ptr* *ptr;
    204208                    nsb++;
    205209                }
     210                ptr++;
    206211            }
    207212        }
Note: See TracChangeset for help on using the changeset viewer.