Ignore:
Timestamp:
03/01/01 15:56:58 (24 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mraw
Files:
10 edited

Legend:

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

    r454 r654  
    1212}
    1313
    14 void MRawCrateData::ReadEvt(ifstream& fin)
     14void MRawCrateData::ReadEvt(istream& fin)
    1515{
    1616    //
  • trunk/MagicSoft/Mars/mraw/MRawCrateData.h

    r454 r654  
    4242    void Print(Option_t *t=NULL);
    4343
    44     void ReadEvt(ifstream& fin);
     44    void ReadEvt(istream& fin);
    4545
    4646    ClassDef(MRawCrateData, 1) //Container to store the Raw CRATE DATA
  • trunk/MagicSoft/Mars/mraw/MRawEvtData.cc

    r609 r654  
    216216}
    217217
    218 void MRawEvtData::DeletePixels()
     218void MRawEvtData::DeletePixels(Bool_t flag)
    219219{
    220220    //
     
    222222    //
    223223    DeleteArrays();
    224     InitArrays();
     224    InitArrays(flag);
    225225}
    226226
     
    233233}
    234234
    235 void MRawEvtData::InitArrays()
    236 {
    237     fHiGainPixId       = new MArrayS(0); //UShort_t[0];
    238     fLoGainPixId       = new MArrayS(0); //new UShort_t[0];
    239     fHiGainFadcSamples = new MArrayB(0); //new Byte_t[0];
    240     fLoGainFadcSamples = new MArrayB(0); //new Byte_t[0];
     235void MRawEvtData::InitArrays(Bool_t flag)
     236{
     237    // const int npix = !flag ? 0 : fRunHeader->GetNumCrates()*fRunHeader->GetNumPixInCrate();
     238
     239    fHiGainPixId       = new MArrayS(0);//npix);
     240    fLoGainPixId       = new MArrayS(0);//npix);
     241    fHiGainFadcSamples = new MArrayB(0);//npix*fRunHeader->GetNumSamplesHiGain());
     242    fLoGainFadcSamples = new MArrayB(0);//npix*fRunHeader->GetNumSamplesLoGain());
    241243}
    242244
     
    248250    //  Add to lo gains if lflag = 1
    249251    //
    250 
    251252    MArrayS *arrpix = lflag ? fLoGainPixId       : fHiGainPixId;
    252253    MArrayB *arrsam = lflag ? fLoGainFadcSamples : fHiGainFadcSamples;
     
    286287}
    287288
    288 /*
    289 void MRawEvtData::AddPixelLo(UShort_t nOfPixel, TArrayC *data, int nr, int pos)
    290 {
    291     //
    292     // add the number of the new pixel to the array as last entry
    293     //
    294     fLoGainPixId->AddAt(nOfPixel, nr);
    295 
    296     //
    297     // add the new slices as last entries to array
    298     //
    299     fLoGainFadcSamples->AddAt((Byte_t*)data->GetArray(), pos,  data->GetSize());
    300 }
    301 
    302 void MRawEvtData::AddPixelHi(UShort_t nOfPixel, TArrayC *data, int nr, int pos)
    303 {
    304     // check whether we got the right number of new samples
    305     // if there are no samples already stored: this is the new number of samples
    306     //
    307     const Byte_t ns = data->GetSize();
    308 
    309     //
    310     // add the number of the new pixel to the array as last entry
    311     //
    312     fHiGainPixId->AddAt(nOfPixel, nr);
    313 
    314     //
    315     // add the new slices as last entries to array
    316     //
    317     fHiGainFadcSamples->AddAt((Byte_t*)data->GetArray(), arrsam->GetSize()-ns, ns);
    318 }
    319 */
    320 void MRawEvtData::ReadEvt(ifstream &fin)
     289void MRawEvtData::ReadEvt(istream &fin)
    321290{
    322291    //
     
    327296    const UShort_t nhi = fRunHeader->GetNumSamplesHiGain();
    328297
    329     TArrayC lo(nlo);
    330     TArrayC hi(nhi);
    331 
    332298    const UShort_t npic = fRunHeader->GetNumPixInCrate();
     299
     300    //
     301    // Enhance array by the size which we'll read now
     302    //
     303    Byte_t lo[nlo];
     304    Byte_t hi[nhi];
     305
     306    const int npixhi = fHiGainPixId->GetSize();
     307    const int npixlo = fLoGainPixId->GetSize();
     308
     309    fHiGainPixId->Set(npixhi+npic);
     310    fLoGainPixId->Set(npixlo+npic);
     311
     312    const int nsamhi = fHiGainFadcSamples->GetSize();
     313    const int nsamlo = fLoGainFadcSamples->GetSize();
     314
     315    fHiGainFadcSamples->Set(nsamhi+nhi*npic);
     316    fLoGainFadcSamples->Set(nsamlo+nlo*npic);
    333317
    334318    for (int i=0; i<npic; i++)
     
    339323        const UShort_t npix = fRunHeader->GetPixAssignment(i);
    340324
    341         fin.read((Byte_t*)hi.GetArray(), nhi);
    342         AddPixel(npix, &hi, kFALSE);
     325        //
     326        //  This is to fill the data of one pixel to the MRawEvtHeader Class.
     327        //  The parameters are the pixelnumber and the FADC_SLICES values of ADCs
     328        //  Add to lo gains if lflag = 1
     329        //
     330        fin.read(hi, nhi);
     331        fHiGainPixId->AddAt(npix, npixhi+i);
     332        fHiGainFadcSamples->AddAt(hi, nsamhi+i*nhi, nhi);
    343333
    344334        // FIXME: Not implemented in the raw files yet
    345335        //if (IsLoGainOn(i, j))
    346336        //{
    347         fin.read((Byte_t*)lo.GetArray(), nlo);
    348         AddPixel(npix, &lo, kTRUE);
     337        fin.read(lo, nlo);
     338        fLoGainPixId->AddAt(npix, npixlo+i);
     339        fLoGainFadcSamples->AddAt(lo, nsamlo+i*nlo, nlo);
    349340        //}
    350341    }
  • trunk/MagicSoft/Mars/mraw/MRawEvtData.h

    r454 r654  
    2727    MArrayB *fLoGainFadcSamples;  // list of lo gain samples of all pixels (ordering: see fLoGainPixId)
    2828
    29     void InitArrays();
     29    void InitArrays(Bool_t flag=kFALSE);
    3030    void DeleteArrays();
    3131
     
    4747    void Draw (Option_t * = NULL);
    4848
    49     void DeletePixels();
     49    void DeletePixels(Bool_t flag=kFALSE);
    5050    void AddPixel(UShort_t nOfPixel, TArrayC *data, Bool_t lflag=kFALSE);
    5151
     
    5454    Byte_t GetNumPixels() const;
    5555
    56     void ReadEvt(ifstream &fin);
     56    void ReadEvt(istream &fin);
    5757
    5858    ClassDef(MRawEvtData, 1) //Container to store the raw Event Data
  • trunk/MagicSoft/Mars/mraw/MRawEvtHeader.cc

    r609 r654  
    169169    *fLog << "Number of Lo Gains On: " << fNumLoGainOn << endl;
    170170
    171     for (int i=0; i<fPixLoGainOn->GetSize(); i++)
     171    for (unsigned int i=0; i<fPixLoGainOn->GetSize(); i++)
    172172    {
    173173        for (int j=0; j<8; j++)
     
    194194}
    195195
    196 int MRawEvtHeader::ReadEvt(ifstream &fin)
     196int MRawEvtHeader::ReadEvt(istream &fin)
    197197{
    198198    //
     
    220220
    221221    fNumLoGainOn = 0;
    222     for (int i=0; i<fPixLoGainOn->GetSize(); i++)
     222    for (unsigned int i=0; i<fPixLoGainOn->GetSize(); i++)
    223223        for (int j=0; j<8; j++)
    224224            if ((*fPixLoGainOn)[i] & (1<<j))
  • trunk/MagicSoft/Mars/mraw/MRawEvtHeader.h

    r454 r654  
    4646  UShort_t GetTrigType() const { return fTrigType; }
    4747
    48   int ReadEvt(ifstream& fin);
     48  int ReadEvt(istream& fin);
    4949
    5050  ClassDef(MRawEvtHeader, 1) // Parameter Conatiner for raw EVENT HEADER
  • trunk/MagicSoft/Mars/mraw/MRawFileRead.cc

    r609 r654  
    2424ClassImp(MRawFileRead)
    2525
     26/*
     27  ----------- please don't delete ------------
     28#define kBUFSZ 1024
     29
     30class bifstream : public istream, public streambuf
     31{
     32private:
     33    char fBuffer[kBUFSZ]; //!
     34    FILE *fd;
     35
     36    int sync()
     37    {
     38        memset(fBuffer, 0, kBUFSZ);
     39        return 0;
     40    }
     41    int underflow()
     42    {
     43        int sz=fread(fBuffer, 1, kBUFSZ, fd);
     44        setg(fBuffer, fBuffer, fBuffer+kBUFSZ);
     45
     46        return sz==kBUFSZ ? *(unsigned char*)fBuffer : EOF;//EOF;
     47    }
     48public:
     49    bifstream(const char *name) : istream(this)
     50    {
     51        fd = fopen(name, "rb");
     52        setbuf(fBuffer, kBUFSZ);
     53    }
     54};
     55*/
     56
    2657MRawFileRead::MRawFileRead(const char *fname, const char *name, const char *title)
    2758{
     
    3869}
    3970
    40 Bool_t MRawFileRead::PreProcess (MParList *pList)
     71MRawFileRead::~MRawFileRead()
     72{
     73    delete fIn;
     74}
     75
     76Bool_t MRawFileRead::PreProcess(MParList *pList)
    4177{
    4278    //
    4379    // remember the pointer to the parameter list fur further usage
    4480    //
    45     pParList = pList;
    4681
    4782    //
     
    103138    return kTRUE;
    104139}
    105    
     140
    106141Bool_t MRawFileRead::Process()
    107142{
     
    112147    if (!fRawEvtHeader->ReadEvt(*fIn))
    113148        return kFALSE;
    114     //fRawEvtHeader->Print();
    115149
    116150    //
     
    135169    {
    136170        fRawCrateArray->GetEntry(i)->ReadEvt(*fIn);
    137         //fRawCrateArray->GetEntry(i)->Print();
    138171
    139172        fRawEvtData->ReadEvt(*fIn);
    140173    }
    141     //fRawEvtData->Print();
    142174
    143175    return kTRUE;
    144 
    145176}
    146177
  • trunk/MagicSoft/Mars/mraw/MRawFileRead.h

    r454 r654  
    1818{
    1919private:
    20     MParList *pParList;
     20    MRawRunHeader  *fRawRunHeader;  // run header information container to fill from file
     21    MRawEvtHeader  *fRawEvtHeader;  // event header information container to fill from file
     22    MRawEvtData    *fRawEvtData;    // raw evt header infomation container to fill from file
     23    MRawCrateArray *fRawCrateArray; // crate information array container to fill from file
     24    MTime          *fRawEvtTime;    // raw evt time information container to fill from file
    2125
    22     MRawRunHeader  *fRawRunHeader;
    23     MRawEvtHeader  *fRawEvtHeader;
    24     MRawEvtData    *fRawEvtData;
    25     MRawCrateArray *fRawCrateArray;
    26     MTime          *fRawEvtTime;
    27 
    28     ifstream *fIn; //!
     26    ifstream      *fIn;            //! buffered input stream (file to read from)
    2927
    3028public:
    3129    MRawFileRead(const char *filename, const char *name=NULL, const char *title=NULL);
     30    ~MRawFileRead();
    3231
    3332    Bool_t PreProcess(MParList *pList);
  • trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc

    r609 r654  
    3333}
    3434
    35 void MRawRunHeader::ReadEvt(ifstream& fin)
     35void MRawRunHeader::ReadEvt(istream& fin)
    3636{
    3737    //
     
    8787    // print run header information on screen
    8888    //
     89    *fLog << endl;
    8990    *fLog << "MagicNumber:  0x" << hex << fMagicNumber << " - " << (fMagicNumber==0xc0c0?"OK":"Wrong!") << endl;
    9091    *fLog << "Version:      " << dec << "Format=" << fFormatVersion << "  ";
  • trunk/MagicSoft/Mars/mraw/MRawRunHeader.h

    r454 r654  
    1111#endif
    1212
     13class TBuffer;
    1314class ifstream;
    1415class MArrayS;
     
    7778    void Print(Option_t *t=NULL);
    7879
    79     void ReadEvt(ifstream& fin);
     80    void ReadEvt(istream& fin);
    8081
    8182    ClassDef(MRawRunHeader, 1)  // storage container for general info
Note: See TracChangeset for help on using the changeset viewer.