Ignore:
Timestamp:
11/06/01 10:33:21 (23 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mraw/MRawEvtData.cc

    r1030 r1031  
    138138//     "dec"      Prints the time slices decimal
    139139//
    140 void MRawEvtData::Print(Option_t *opt)
     140void MRawEvtData::Print(Option_t *opt) const
    141141{
    142142    //
     
    296296void MRawEvtData::DeletePixels(Bool_t flag)
    297297{
     298    const int npix = fRunHeader->GetNumCrates()*fRunHeader->GetNumPixInCrate();
     299
     300    if (fArraySize == npix && flag)
     301    {
     302        fPosInArray = 0;
     303        return;
     304    }
     305
    298306    DeleteArrays();
    299307    InitArrays(flag);
     
    319327void MRawEvtData::InitArrays(Bool_t flag)
    320328{
    321     // const int npix = !flag ? 0 : fRunHeader->GetNumCrates()*fRunHeader->GetNumPixInCrate();
    322 
    323     fHiGainPixId       = new MArrayS(0);//npix);
    324     fLoGainPixId       = new MArrayS(0);//npix);
    325     fHiGainFadcSamples = new MArrayB(0);//npix*fRunHeader->GetNumSamplesHiGain());
    326     fLoGainFadcSamples = new MArrayB(0);//npix*fRunHeader->GetNumSamplesLoGain());
     329    if (flag)
     330    {
     331        const int npix = fRunHeader->GetNumCrates()*fRunHeader->GetNumPixInCrate();
     332
     333        fHiGainPixId       = new MArrayS(npix);
     334        fLoGainPixId       = new MArrayS(npix);
     335        fHiGainFadcSamples = new MArrayB(npix*fRunHeader->GetNumSamplesHiGain());
     336        fLoGainFadcSamples = new MArrayB(npix*fRunHeader->GetNumSamplesLoGain());
     337
     338        fArraySize  = npix;
     339    }
     340    else
     341    {
     342        fHiGainPixId       = new MArrayS(0);
     343        fLoGainPixId       = new MArrayS(0);
     344        fHiGainFadcSamples = new MArrayB(0);
     345        fLoGainFadcSamples = new MArrayB(0);
     346
     347        fArraySize = 0;
     348    }
     349
     350    fPosInArray = 0;
    327351}
    328352
     
    384408    const UShort_t npic = fRunHeader->GetNumPixInCrate();
    385409
    386     //
    387     // Enhance array by the size which we'll read now
    388     //
    389     const int npixhi = fHiGainPixId->GetSize();
    390     const int npixlo = fLoGainPixId->GetSize();
    391 
    392     fHiGainPixId->Set(npixhi+npic);
    393     fLoGainPixId->Set(npixlo+npic);
    394 
    395     const int nsamhi = fHiGainFadcSamples->GetSize();
    396     const int nsamlo = fLoGainFadcSamples->GetSize();
    397 
    398     fHiGainFadcSamples->Set(nsamhi+nhi*npic);
    399     fLoGainFadcSamples->Set(nsamlo+nlo*npic);
    400 
    401     Byte_t *higainsam = fHiGainFadcSamples->GetArray()+nsamhi;
    402     Byte_t *logainsam = fLoGainFadcSamples->GetArray()+nsamlo;
     410    const UShort_t npos = npic*fPosInArray;
     411
     412    Byte_t *higainsam = fHiGainFadcSamples->GetArray()+nhi*npos;
     413    Byte_t *logainsam = fLoGainFadcSamples->GetArray()+nlo*npos;
     414
     415    // UShort_t *hipixid = (UShort_t*)fHiGainPixId->GetArray()+npos;
     416    // UShort_t *lopixid = (UShort_t*)fLoGainPixId->GetArray()+npos;
    403417
    404418    for (int i=0; i<npic; i++)
     
    409423        const UShort_t npix = fRunHeader->GetPixAssignment(i);
    410424
     425        const UShort_t ipos = npos+i;
    411426        //
    412427        //  This is to fill the data of one pixel to the MRawEvtHeader Class.
     
    414429        //  Add to lo gains if lflag = 1
    415430        //
    416         fHiGainPixId->AddAt(npix, npixhi+i);
     431        fHiGainPixId->AddAt(npix, ipos);
    417432        fin.read(higainsam, nhi);
    418433        higainsam += nhi;
     
    421436        //if (IsLoGainOn(i, j))
    422437        //{
    423         fLoGainPixId->AddAt(npix, npixlo+i);
     438        fLoGainPixId->AddAt(npix, ipos);
    424439        fin.read(logainsam, nlo);
    425440        logainsam += nlo;
Note: See TracChangeset for help on using the changeset viewer.