Changeset 654 for trunk


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

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r653 r654  
    22
    33 2000/03/01: Thomas Bretz
     4
     5 * Makefile: added headers to dependencies
     6 
     7 * Makefile.rules: added headers to dependencies
     8 
     9 * merpp.cc: changed from pointers to objects, added compression level
     10 
     11 * readraw.cc: removed unnecessary includes
     12 
     13 * mbase/MArray*.*: changed all Int_t to UInt_t
     14 
     15 * mbase/MLogManip.h: changed name of __DINF__ to dbginf
     16 
     17 * mraw/MRawCrateData.[h,cc]: changed ifstream to istream
     18 * mraw/MRawEvtHeader.[h,cc]: dito
     19 * mraw/MRawRunHeader.[h,cc]: dito
     20
     21 * mraw/MRawEvtData.cc: changed the reading, which speeds up merpp by
     22   a factor of 10
     23   
     24 * mraw/MRawEvtData.h: added flag to InitArrays and DeletePixels
     25   (not yet used)
     26
     27 * mraw/MRawFileRead.h: removed pParList from parameter list
    428 
    529 * manalysis/AnalysisLinkDef.h
  • trunk/MagicSoft/Mars/Makefile

    r604 r654  
    5454
    5555# Use $(CXX) -v ... for a more verbose output
    56 $(PROGRAMS): $(LIBRARIES) $(OBJS) MCint.o $(PROGRAMS:=.o)
     56$(PROGRAMS): $(LIBRARIES) $(OBJS) $(HEADERS) MCint.o $(PROGRAMS:=.o)
    5757        @echo " Linking $@ ..."
    5858        $(CXX) $(CXXFLAGS) $@.o $(OBJS) $(MARS_LIB) MCint.o $(ROOTGLIBS) -o $@
    5959
    60 $(SOLIB): $(LIBRARIES) $(OBJS) MCint.o
     60$(SOLIB): $(LIBRARIES) $(OBJS) $(HEADERS) MCint.o
    6161        @echo " Linking $(SOLIB) ..."
    6262        $(CXX) -shared $(CXXFLAGS) $(SUBDIRS:=/*.o) $(ROOTGLIBS) -o $@
  • trunk/MagicSoft/Mars/Makefile.rules

    r574 r654  
    44        -f Makefile.depend 2> kk.kk ; cat kk.kk
    55
    6 $(LIB): $(OBJS) $(CINT)Cint.o
     6$(LIB): $(OBJS) $(HEADERS) $(CINT)Cint.o
    77        @echo " - Building Library lib$(LIB) ... "
    88        $(AR) $(LIB) *.o
  • trunk/MagicSoft/Mars/manalysis/Makefile

    r601 r654  
    3232
    3333SRCFILES = MCerPhotEvt.cc \
    34            MReadCT1Ascii.cc
     34           MCerPhotPix.cc \
     35           MCT1Pedestals.cc \
     36           MCT1ReadAscii.cc
    3537
    3638SRCS    = $(SRCFILES)
  • trunk/MagicSoft/Mars/mbase/MArray.h

    r458 r654  
    2121{
    2222protected:
    23     Int_t fN; // Number of array elements
     23    UInt_t fN; // Number of array elements
    2424
    2525public:
    2626   MArray()                              { fN = 0; }
    27    MArray(Int_t n)                       { fN = n; }
     27   MArray(UInt_t n)                      { fN = n; }
    2828   MArray(const MArray &a)               { fN = a.fN; }
    2929   virtual ~MArray()                     { fN = 0; }
     
    3131   MArray &operator=(const MArray &rhs)  { fN = rhs.fN; return *this; }
    3232
    33    Int_t        GetSize() const          { return fN; }
    34    virtual void Set(Int_t n) = 0;
     33   UInt_t       GetSize() const          { return fN; }
     34   virtual void Set(UInt_t n) = 0;
    3535
    3636   ClassDef(MArray, 1)  //Abstract array base class for TObject derived Arrays
  • trunk/MagicSoft/Mars/mbase/MArrayB.h

    r458 r654  
    2626    MArrayB()
    2727    {
    28         fN = 0;
     28        fN     = 0;
    2929        fArray = NULL;
    3030    }
    3131
    32     MArrayB(Int_t n)
     32    MArrayB(UInt_t n)
    3333    {
    34         fN = 0;
     34        fN     = 0;
    3535        fArray = NULL;
    36         if (n > 0)
    37             Set(n);
     36
     37        Set(n);
    3838    }
    3939
    40     MArrayB(Int_t n, Byte_t *array)
     40    MArrayB(UInt_t n, Byte_t *array)
    4141    {
    4242        // Create TArrayC object and initialize it with values of array.
    43         fN = 0;
     43        fN     = 0;
    4444        fArray = NULL;
     45
    4546        Set(n, array);
    4647    }
     
    5354    }
    5455
    55     Int_t GetSize() const
     56    UInt_t GetSize() const
    5657    {
    5758        return fN;
     
    7374    }
    7475
    75     void Adopt(Int_t n, Byte_t *array)
     76    void Adopt(UInt_t n, Byte_t *array)
    7677    {
    7778        // Adopt array arr into TArrayC, i.e. don't copy arr but use it directly
     
    8485    }
    8586
    86     void AddAt(Byte_t c, Int_t i)
     87    void AddAt(Byte_t c, UInt_t i)
    8788    {
    8889        // Add char c at position i. Check for out of bounds.
     
    9091    }
    9192
    92     void AddAt(Byte_t *array, Int_t i, Int_t n)
     93    void AddAt(Byte_t *array, UInt_t i, UInt_t n)
    9394    {
    9495        // Add char c at position i. Check for out of bounds.
     
    9697    }
    9798
    98     Byte_t     At(Int_t i)
     99    Byte_t     At(UInt_t i)
    99100    {
    100101        return fArray[i];
     
    111112    }
    112113
    113     void Set(Int_t n)
     114    void Set(UInt_t n)
    114115    {
    115116        // Set size of this array to n chars.
     
    117118        // then the old array is deleted.
    118119
    119         if (n < 0 || n==fN)
     120        if (n==fN)
    120121            return;
    121122
    122123        Byte_t *temp = fArray;
    123         if (n != 0)
     124        if (n == 0)
     125            fArray = 0;
     126        else
    124127        {
    125128            fArray = new Byte_t[n];
     
    132135            }
    133136        }
    134         else
    135         {
    136             fArray = 0;
    137         }
    138137
    139138        if (fN)
     
    143142    }
    144143
    145     void Set(Int_t n, Byte_t *array)
     144    void Set(UInt_t n, Byte_t *array)
    146145    {
    147146        // Set size of this array to n chars and set the contents.
    148         if (n < 0 || array == 0)
     147        if (!array)
    149148            return;
    150149
     
    154153            fArray = 0;
    155154        }
     155
    156156        fN = n;
    157157
     
    165165    }
    166166
    167     Byte_t &operator[](Int_t i)
     167    Byte_t &operator[](UInt_t i)
    168168    {
    169169        return fArray[i];
  • trunk/MagicSoft/Mars/mbase/MArrayS.h

    r458 r654  
    2525    MArrayS()
    2626    {
    27         fN = 0;
     27        fN     = 0;
    2828        fArray = NULL;
    2929    }
    3030
    31     MArrayS(Int_t n)
     31    MArrayS(UInt_t n)
    3232    {
    33         fN = 0;
     33        fN     = 0;
    3434        fArray = NULL;
    35         if (n > 0)
    36             Set(n);
     35        Set(n);
    3736    }
    3837
    39     MArrayS(Int_t n, UShort_t *array)
     38    MArrayS(UInt_t n, UShort_t *array)
    4039    {
    4140        // Create TArrayC object and initialize it with values of array.
    42         fN = 0;
     41        fN     = 0;
    4342        fArray = NULL;
    4443        Set(n, array);
     
    5251    }
    5352
    54     Int_t GetSize() const
     53    UInt_t GetSize() const
    5554    {
    5655        return fN;
     
    7271    }
    7372
    74     void Adopt(Int_t n, UShort_t *array)
     73    void Adopt(UInt_t n, UShort_t *array)
    7574    {
    7675        // Adopt array arr into TArrayC, i.e. don't copy arr but use it directly
     
    8382    }
    8483
    85     void AddAt(UShort_t c, Int_t i)
     84    void AddAt(UShort_t c, UInt_t i)
    8685    {
    8786        // Add char c at position i. Check for out of bounds.
     
    8988    }
    9089
    91     UShort_t     At(Int_t i)
     90    UShort_t     At(UInt_t i)
    9291    {
    9392        return fArray[i];
     
    104103    }
    105104
    106     void Set(Int_t n)
     105    void Set(UInt_t n)
    107106    {
    108107        // Set size of this array to n chars.
     
    110109        // then the old array is deleted.
    111110
    112         if (n < 0 || n==fN)
     111        if (n==fN)
    113112            return;
    114113
    115114        UShort_t *temp = fArray;
    116         if (n != 0)
     115        if (n == 0)
     116            fArray = NULL;
     117        else
    117118        {
    118119            fArray = new UShort_t[n];
     
    125126            }
    126127        }
    127         else
    128         {
    129             fArray = NULL;
    130         }
    131128
    132129        if (fN)
     
    136133    }
    137134
    138     void Set(Int_t n, UShort_t *array)
     135    void Set(UInt_t n, UShort_t *array)
    139136    {
    140137        // Set size of this array to n chars and set the contents.
    141         if (n < 0 || array == 0)
     138        if (!array)
    142139            return;
    143140
     
    158155    }
    159156
    160     UShort_t &operator[](Int_t i)
     157    UShort_t &operator[](UInt_t i)
    161158    {
    162159        return fArray[i];
  • trunk/MagicSoft/Mars/mbase/MLogManip.h

    r604 r654  
    5353//
    5454#ifndef __CINT__
    55 #define __DINF__        __FILE__ << " " << __LINE__ << ": "
     55#define dbginf        __FILE__ << " " << __LINE__ << ": "
    5656#endif
    5757//
     
    6363//
    6464#ifndef __CINT__
    65 #define DEBUG(lvl)      flush << debug(lvl) << __DINF__
     65#define DEBUG(lvl)    flush << debug(lvl) << dbginf
    6666#endif
    6767
  • trunk/MagicSoft/Mars/mbase/MReadTree.cc

    r609 r654  
    4343{
    4444    //
    45     // open file
     45    // open file and check if file is really open
    4646    //
    4747    fFile = new TFile(fFileName, "READ");
     
    5454    }
    5555
     56    //
     57    // try to get the tree and check if it was found
     58    //
    5659    fTree = (TTree*)fFile->Get(fTreeName);
    57 
    5860    if (!fTree)
    5961    {
     
    6365    }
    6466
     67    //
     68    // get number of events in this tree
     69    //
    6570    fNumEntries = (UInt_t)fTree->GetEntries();
     71
     72    //
     73    // set pointer to first event
     74    //
    6675    fNumEntry   = 0;
    6776
     77    //
     78    // output logging information
     79    //
    6880    *fLog << "File: '" << fFileName << "'  Tree: '" << fTreeName;
    6981    *fLog << "' with " << fNumEntries << " Entries opened." << endl;
  • trunk/MagicSoft/Mars/merpp.cc

    r609 r654  
    4343    // check for the right usage of the program
    4444    //
    45     if (argc!=3)
     45    if (argc<3 || argc>4)
    4646    {
    4747        gLog << "Sorry the usage is:" << endl;
    48         gLog << "   merpp inputfile outputfile" << endl << endl;
     48        gLog << "   merpp inputfile outputfile [compression level]" << endl << endl;
    4949        return -1;
    5050    }
     51
     52    //
     53    // This is to make argv[i] more readable insidethe code
     54    //
     55    const char *kNamein   = argv[1];
     56    const char *kNameout  = argv[2];
     57    const int   kComprlvl = argc==4 ? atoi(argv[3]) : 9;
    5158
    5259    //
     
    5865    // check whether the given files are OK.
    5966    //
    60     if (gSystem->AccessPathName(argv[1], kFileExists))
     67    if (gSystem->AccessPathName(kNamein, kFileExists))
    6168    {
    62         gLog << "Sorry, the file '" << argv[1] << "' doesn't exist." << endl;
     69        gLog << "Sorry, the file '" << kNamein << "' doesn't exist." << endl;
    6370        return -1;
    6471    }
    6572
    66     if (!gSystem->AccessPathName(argv[2], kFileExists))
    67         gLog << "Warning: The file '" << argv[2] << "' exists." << endl;
     73    if (!gSystem->AccessPathName(kNameout, kFileExists))
     74        gLog << "Warning: The file '" << kNameout << "' exists." << endl;
    6875    else
    69         if (!gSystem->AccessPathName(argv[2], kWritePermission))
     76        if (!gSystem->AccessPathName(kNameout, kWritePermission))
    7077        {
    71             gLog << "Sorry, you don't have write permission for '" << argv[2] << "'." << endl;
     78            gLog << "Sorry, you don't have write permission for '" << kNameout << "'." << endl;
    7279            return -1;
    7380        }
     
    7784    // and an (empty) list of tasks which should be executed
    7885    //
    79     MParList *plist  = new MParList;
     86    MParList plist;
    8087
    81     MTaskList *tasks = new MTaskList;
    82     plist->AddToList(tasks);
     88    MTaskList tasks;
     89    plist.AddToList(&tasks);
    8390
    84     MRawRunHeader *runheader = new MRawRunHeader;
    85     plist->AddToList(runheader);
     91    MRawRunHeader runheader;
     92    plist.AddToList(&runheader);
    8693
    87     MRawEvtHeader *evtheader = new MRawEvtHeader;
    88     plist->AddToList(evtheader);
     94    MRawEvtHeader evtheader;
     95    plist.AddToList(&evtheader);
    8996
    90     MRawEvtData *evtdata = new MRawEvtData;
    91     plist->AddToList(evtdata);
     97    MRawEvtData evtdata;
     98    plist.AddToList(&evtdata);
    9299
    93     MRawCrateArray *cratearray = new MRawCrateArray;
    94     plist->AddToList(cratearray);
     100    MRawCrateArray cratearray;
     101    plist.AddToList(&cratearray);
    95102
    96     MTime *evttime = new MTime("MRawEvtTime");
    97     plist->AddToList(evttime);
     103    MTime evttime("MRawEvtTime");
     104    plist.AddToList(&evttime);
    98105
    99106    //
     
    102109    // be created by MRawFileRead::PreProcess
    103110    //
    104     MRawFileRead  *reader = new MRawFileRead(argv[1]);
    105     MRawFileWrite *writer = new MRawFileWrite(argv[2], "RECREATE");
    106     tasks->AddToList(reader);
    107     tasks->AddToList(writer);
     111    MRawFileRead  reader(kNamein);
     112    MRawFileWrite writer(kNameout, "RECREATE", "Title", kComprlvl);
     113    tasks.AddToList(&reader);
     114    tasks.AddToList(&writer);
    108115
    109116    //
     
    114121    MEvtLoop magic;
    115122
    116     magic.SetParList(plist);
     123    magic.SetParList(&plist);
    117124
    118125    //
  • trunk/MagicSoft/Mars/mgui/GuiLinkDef.h

    r597 r654  
    1313
    1414#pragma link C++ class MHexagon;
    15 #pragma link C++ class MPixGeom;
    16 #pragma link C++ class MCamGeom;
     15#pragma link C++ class MGeomPix;
     16#pragma link C++ class MGeomCam;
    1717#pragma link C++ class MCamNeighbor;
    1818
    1919#pragma link C++ class MCamDisplay;
    2020
    21 //#pragma link C++ class MDumpEvtHeader;
    22 
    2321#endif
  • trunk/MagicSoft/Mars/mgui/Makefile

    r602 r654  
    5858           MGPrototyp.cc \
    5959           MHexagon.cc \
    60            MCamGeom.cc \
     60           MGeomCam.cc \
     61           MGeomPix.cc \
    6162           MCamNeighbor.cc \
    6263           MCamDisplay.cc
  • 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
  • trunk/MagicSoft/Mars/readraw.cc

    r609 r654  
    1 //#include <iostream.h>
    2 
    31#include <TSystem.h>
    42
     
    2119#include "MMcEvt.hxx"
    2220#include "MMcTrig.hxx"
    23 
    24 #include "MGMarsMain.h"
    2521
    2622/////////////////////////////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.