Ignore:
Timestamp:
12/11/03 14:22:56 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mraw
Files:
12 edited

Legend:

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

    r2636 r2645  
    9494}
    9595
     96Int_t MRawCrateArray::GetSize() const
     97{
     98    return fArray->GetEntriesFast();
     99}
     100
    96101// --------------------------------------------------------------------------
    97102//
  • trunk/MagicSoft/Mars/mraw/MRawCrateArray.h

    r2607 r2645  
    2727
    2828    void SetSize(Int_t i);
     29    Int_t GetSize() const;
    2930    MRawCrateData *GetEntry(Int_t i);
    3031
  • trunk/MagicSoft/Mars/mraw/MRawCrateData.cc

    r2636 r2645  
    7373    *fLog << "FADCEventNr   = " << fFADCEvtNumber << "  ";
    7474    *fLog << "FADCClockTick = " << fFADCClockTick << " (20MHz)" << endl;
    75     *fLog << "ABFlags       = " << hex << fABFlags << " (20MHz)" << endl;
     75    *fLog << "ABFlags       = " << hex << fABFlags << endl;
    7676}
  • trunk/MagicSoft/Mars/mraw/MRawCrateData.h

    r2636 r2645  
    2424    UInt_t  GetFADCEvtNumber() const   { return fFADCEvtNumber;  }
    2525    UInt_t  GetFADCClockTick() const   { return fFADCClockTick;  }
     26    Byte_t  GetABFlags() const         { return fABFlags;        }
    2627
    2728    void Print(Option_t *t=NULL) const;
  • trunk/MagicSoft/Mars/mraw/MRawEvtData.cc

    r2546 r2645  
    4747//
    4848//
    49 //   Version 2: Derives from MCamEvent now
     49//   Version 3:
     50//   ----------
     51//    - Added fABFlags
     52//
     53//   Version 2:
     54//   ----------
     55//    - Derives from MCamEvent now
     56//
     57//   Version 1:
     58//   ----------
     59//    - First implementation
    5060//
    5161/////////////////////////////////////////////////////////////////////////////
     
    6676#include "MArrayB.h"
    6777#include "MGeomCam.h"
     78
     79#include "MRawCrateArray.h"
     80#include "MRawCrateData.h"
     81
    6882#include "MRawRunHeader.h"
    6983#include "MRawEvtPixelIter.h"
     
    109123    fHiGainFadcSamples->Reset();
    110124    fLoGainFadcSamples->Reset();
     125    fABFlags->Reset();
    111126}
    112127
     
    171186    for (int i=0; i<nHiPix; i++)
    172187    {
     188        const UShort_t idx = (*fHiGainPixId)[i];
     189
    173190        *fLog << endl;
    174         *fLog << " " << setfill(' ') << setw(3) << dec << i << " -";
    175         *fLog << " " << setfill(' ') << setw(3) << dec << (*fHiGainPixId)[i] << ": ";
    176         *fLog << (manip?dec:hex);
    177 
    178         if (!manip)
    179             *fLog << setfill('0');
     191        *fLog << " " << setfill(' ') << setw(3) << dec << i << " - " << setw(3);
     192        *fLog << dec << idx << " <" << hex << setfill('0') << setw(2);
     193        *fLog << ((Int_t)(*fABFlags)[idx/8]&0xff) << "> ";
     194
     195        *fLog << (manip?dec:hex) << (manip ? setfill(' ') : setfill('0'));
    180196
    181197        for (int j=0; j<nHiSamp; j++)
     
    187203        }
    188204
    189         if (!(l<nLoPix && (*fLoGainPixId)[l]==(*fHiGainPixId)[i]))
     205        if (!(l<nLoPix && (*fLoGainPixId)[l]==idx))
    190206            continue;
    191207
     
    364380    delete fHiGainFadcSamples;
    365381    delete fLoGainFadcSamples;
     382    delete fABFlags;
    366383}
    367384
     
    382399        fHiGainFadcSamples = new MArrayB(npix*fRunHeader->GetNumSamplesHiGain());
    383400        fLoGainFadcSamples = new MArrayB(npix*fRunHeader->GetNumSamplesLoGain());
     401        fABFlags           = new TArrayC((npix-1)/8+1);
    384402
    385403        fArraySize  = npix;
     
    391409        fHiGainFadcSamples = new MArrayB(0);
    392410        fLoGainFadcSamples = new MArrayB(0);
     411        fABFlags           = new TArrayC(0);
    393412
    394413        fArraySize = 0;
     
    457476
    458477    const UShort_t npos = npic*fPosInArray;
     478
     479    const Byte_t ab = fCrateArray->GetEntry(fPosInArray)->GetABFlags();
    459480
    460481    Byte_t *higainsam = fHiGainFadcSamples->GetArray()+nhi*fConnectedPixels;
     
    490511        logainsam += nlo;
    491512        //}
     513
     514        if (TESTBIT(ab, i))
     515            SETBIT((*fABFlags)[npix/8], npix%8);
     516        else
     517            CLRBIT((*fABFlags)[npix/8], npix%8);
    492518
    493519        fConnectedPixels++;
     
    539565    *evt.fLoGainFadcSamples = *fLoGainFadcSamples;
    540566
     567    *evt.fABFlags = *fABFlags;
     568
    541569    evt.fPosInArray      = fPosInArray;
    542570    evt.fConnectedPixels = fConnectedPixels;
  • trunk/MagicSoft/Mars/mraw/MRawEvtData.h

    r2416 r2645  
    1111
    1212class MRawRunHeader;
     13class MRawCrateArray;
    1314
    1415class TArrayC;
     
    2021    friend class MRawEvtPixelIter;
    2122private:
    22     MRawRunHeader *fRunHeader;    //! provides information about numbers
     23    MRawRunHeader  *fRunHeader;   //! provides information about numbers
     24    MRawCrateArray *fCrateArray;  //! provides information about ab flag
    2325
    2426    // FIXME: COMMENT ABOUT ORDERING
     
    2931    MArrayS *fLoGainPixId;        //-> list of pixel IDs of lo gain channel
    3032    MArrayB *fLoGainFadcSamples;  //-> list of lo gain samples of all pixels (ordering: see fLoGainPixId)
     33
     34    TArrayC *fABFlags;            //-> A information about the exact trigger position
    3135
    3236    Int_t fPosInArray;        //!
     
    4145    ~MRawEvtData();
    4246
    43     void Init(MRawRunHeader *rh)
     47    void Init(MRawRunHeader *rh, MRawCrateArray *arr)
    4448    {
    4549        //
     
    4751        // from a magic binary file
    4852        //
    49         fRunHeader = rh;
     53        fRunHeader  = rh;
     54        fCrateArray = arr;
    5055    }
    5156
     
    7883        ;
    7984
    80     ClassDef(MRawEvtData, 2) //Container to store the raw Event Data
     85    ClassDef(MRawEvtData, 3) //Container to store the raw Event Data
    8186};
    8287
  • trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.cc

    r2487 r2645  
    5050#include "MRawEvtPixelIter.h"
    5151
     52#include <TArrayC.h>
     53
    5254#include "MRawEvtData.h"
    5355
     
    138140    fHiGainPos  = fData->fHiGainFadcSamples->GetArray()-fNumHiGainSamples;
    139141    fLoGainPos  = fData->fLoGainFadcSamples->GetArray()-fNumLoGainSamples;
     142    fABFlags    = fData->fABFlags->GetArray();
    140143
    141144    //
  • trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.h

    r2487 r2645  
    2525    Byte_t   *fHiGainPos;       //! pointer to hi-gain samples of actual pixel
    2626    Byte_t   *fLoGainPos;       //! pointer to lo-gain samples of actual pixel
     27
     28    Char_t   *fABFlags;         //! pointer to AB flags
    2729
    2830    UShort_t fNumEntry;
     
    9395        return fLoGainId && *fHiGainId==*fLoGainId;
    9496    }
     97    Bool_t HasABFlag() const
     98    {
     99        //
     100        // return kTRUE  the lo gains exist for the actual pixel, else return kFALSE
     101        //
     102        return TESTBIT(fABFlags[GetPixelId()/8], GetPixelId()%8);
     103    }
     104    Byte_t GetABFlag() const
     105    {
     106        //
     107        // return kTRUE  the lo gains exist for the actual pixel, else return kFALSE
     108        //
     109        return (Byte_t)fABFlags[GetPixelId()/8];
     110    }
    95111
    96112    Byte_t *GetLoGainSamples() const
  • trunk/MagicSoft/Mars/mraw/MRawFileRead.cc

    r2636 r2645  
    179179    //
    180180    fRawEvtHeader->Init(fRawRunHeader, fRawEvtTime);
    181     fRawEvtData  ->Init(fRawRunHeader);
     181    fRawEvtData  ->Init(fRawRunHeader, fRawCrateArray);
    182182
    183183    return kTRUE;
  • trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc

    r2636 r2645  
    133133    fin.read((char*)&fSourceEpochChar,  2);     // Total=56
    134134    fin.read((char*)&fSourceEpochDate,  2);     // Total=58
    135     if (fFormatVersion<2)
     135    if (fFormatVersion<2)                       // Total += 10
    136136    {
    137137        UShort_t y, m, d;
     
    142142        fRunStart.Set(y, m, d, 0, 0, 0, 0);
    143143    }
    144     fin.read((char*)&fNumCrates,        2);     // Total=70
    145     fin.read((char*)&fNumPixInCrate,    2);     // Total=72
    146     fin.read((char*)&fNumSamplesLoGain, 2);     // Total=74
    147     fin.read((char*)&fNumSamplesHiGain, 2);     // Total=76
    148     fin.read((char*)&fNumEvents,        4);     // Total=80
     144    fin.read((char*)&fNumCrates,        2);     // Total=60
     145    fin.read((char*)&fNumPixInCrate,    2);     // Total=62
     146    fin.read((char*)&fNumSamplesLoGain, 2);     // Total=64
     147    fin.read((char*)&fNumSamplesHiGain, 2);     // Total=66
     148    fin.read((char*)&fNumEvents,        4);     // Total=70
    149149    if (fFormatVersion>1)
    150150    {
    151         fRunStart.ReadBinary(fin);
    152         fRunStop.ReadBinary(fin);
     151        fRunStart.ReadBinary(fin);              // Total += 7
     152        fRunStop.ReadBinary(fin);               // Total += 7
    153153    }
    154154
     
    255255Int_t MRawRunHeader::GetNumTotalBytes() const
    256256{
    257     return 80+fNumCrates*fNumPixInCrate*2+16;
    258 }
     257    switch (fFormatVersion)
     258    {
     259    case 1:
     260        return 80+fNumCrates*fNumPixInCrate*2+16;
     261    case 2:
     262        return 84+fNumCrates*fNumPixInCrate*2+16;
     263    }
     264    return 0;
     265}
  • trunk/MagicSoft/Mars/mraw/MRawSocketRead.cc

    r2636 r2645  
    277277    //
    278278    fRawEvtHeader->Init(fRawRunHeader, fTime);
    279     fRawEvtData  ->Init(fRawRunHeader);
     279    fRawEvtData  ->Init(fRawRunHeader, fRawCrateArray);
    280280
    281281    //
  • trunk/MagicSoft/Mars/mraw/RawIncl.h

    r2521 r2645  
    11#ifndef __CINT__
    22
     3#include <TArrayC.h>
    34#include "MArrayB.h"
    45#include "MArrayS.h"
Note: See TracChangeset for help on using the changeset viewer.