Ignore:
Timestamp:
12/18/03 11:51:15 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/merpp.cc

    r2687 r2709  
    2121#include "MRawEvtHeader.h"
    2222#include "MRawCrateArray.h"
     23
     24#include "MFilterList.h"
     25#include "MFDataMember.h"
    2326
    2427using namespace std;
     
    7073    gLog << "     --start=yyyy-mm-dd/hh:mm:ss.mmm: Start event time for merpping report files" << endl;
    7174    gLog << "     --stop=yyyy-mm-dd/hh:mm:ss.mmm:  Stop  event time for merpping report files" << endl;
     75    gLog << "     --run=#:                         Only merpp data corresponding to this run number" << endl;
    7276    gLog << "     -?/-h: This help" << endl << endl;
    7377    gLog << "   REMARK: At the moment you can process a .raw _or_ a .rep file, only!" << endl << endl;
     
    115119    kTimeStop.SetName("MTimeStop");
    116120
     121    const Int_t kRunNumber = arg.HasOption("--run=") ? arg.GetIntAndRemove("--run=") : -1;
     122
    117123    if (!kTimeStart)
    118124        cout << "No start time!" << endl;
     
    219225    // be created by MRawFileRead::PreProcess
    220226    //
    221     MTask *read  = 0;
    222     MTask *write = 0;
     227    MTask       *read   = 0;
     228    MFilterList *filter = 0;
     229    MTask       *write  = 0;
    223230
    224231    const TString option(kUpdate ? "UPDATE" : "RECREATE");
    225232    if (isreport || isdc)
    226233    {
    227         MReportFileRead *r = new MReportFileRead(kNamein);
    228         r->SetTimeStart(kTimeStart);
    229         r->SetTimeStop(kTimeStop);
    230         if (isdc)
    231         {
    232             r->SetHasNoHeader();
    233             r->AddToList("MReportCurrents");
    234         }
    235         else
    236         {
    237             r->AddToList("MReportCC");
    238             r->AddToList("MReportDAQ");
    239             r->AddToList("MReportDrive");
    240             r->AddToList("MReportCamera");
    241             r->AddToList("MReportTrigger");
    242         }
    243         read = r;
    244 
    245234        MWriteRootFile *w = new MWriteRootFile(kNameout, option, "Magic root-file", kComprlvl);
    246235        if (isdc)
     
    270259        }
    271260        write = w;
     261
     262        MReportFileRead *r = new MReportFileRead(kNamein);
     263        r->SetTimeStart(kTimeStart);
     264        r->SetTimeStop(kTimeStop);
     265        if (isdc)
     266        {
     267            r->SetHasNoHeader();
     268            r->AddToList("MReportCurrents");
     269        }
     270        else
     271        {
     272            r->AddToList("MReportCC");
     273            r->AddToList("MReportDAQ");
     274            r->AddToList("MReportDrive");
     275            r->AddToList("MReportCamera");
     276            r->AddToList("MReportTrigger");
     277            if (kRunNumber>0)
     278            {
     279                r->AddToList("MReportRun");
     280                // FIXME: Too difficult!
     281                filter = new MFilterList;
     282                filter->SetOwner();
     283                filter->AddToList(new MFDataMember("MReportRun.fRunNumber", '>', kRunNumber-0.5));
     284                filter->AddToList(new MFDataMember("MReportRun.fRunNumber", '<', kRunNumber+0.5));
     285                w->SetFilter(filter);
     286            }
     287        }
     288        read = r;
    272289    }
    273290    else
     
    278295
    279296    tasks.AddToList(read);
     297    if (filter)
     298        tasks.AddToList(filter);
    280299    tasks.AddToList(write);
    281300
Note: See TracChangeset for help on using the changeset viewer.