Ignore:
Timestamp:
11/22/03 15:31:18 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mreport
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mreport/MReportCamera.h

    r2553 r2556  
    1010class MCameraHV;
    1111class MCameraLV;
     12class MCameraAUX;
    1213class MCameraCalibration;
    1314
     
    2021    MCameraCooling     *fCooling;
    2122    MCameraLids        *fLids;
     23    MCameraAUX         *fAUX;
    2224    MCameraHV          *fHV;
    2325    MCameraLV          *fLV;
     
    2729    Bool_t CheckTag(TString &str, const char *tag) const;
    2830
     31    Bool_t InterpreteCamera(TString &str);
    2932    Bool_t InterpreteDC(TString &str);
    3033    Bool_t InterpreteHV(TString &str);
  • trunk/MagicSoft/Mars/mreport/MReportFileRead.cc

    r2532 r2556  
    3232#include <fstream>
    3333
     34#include <TClass.h>
    3435#include <TRegexp.h>
    3536#include <THashTable.h>
     
    5556
    5657public:
    57     MReportHelp(MReport *rep) : fReport(rep), fNumReports(0) { }
     58    MReportHelp(const char *name, MLog *fLog) : fReport(NULL), fNumReports(0)
     59    {
     60        TClass *cls = gROOT->GetClass(name);
     61        Int_t rc = 0;
     62        if (!cls)
     63            rc =1;
     64        else
     65        {
     66            if (!cls->Property())
     67                rc = 5;
     68            if (!cls->Size())
     69                rc = 4;
     70            if (!cls->IsLoaded())
     71                rc = 3;
     72            if (!cls->HasDefaultConstructor())
     73                rc = 2;
     74        }
     75
     76        if (rc)
     77        {
     78            *fLog << err << dbginf << "Cannot create new instance of class '" << name << "': ";
     79            switch (rc)
     80            {
     81            case 1:
     82                *fLog << "gROOT->GetClass() returned NULL." << endl;
     83                return;
     84            case 2:
     85                *fLog << "no default constructor." << endl;
     86                return;
     87            case 3:
     88                *fLog << "not loaded." << endl;
     89                return;
     90            case 4:
     91                *fLog << "zero size." << endl;
     92                return;
     93            case 5:
     94                *fLog << "no property." << endl;
     95                return;
     96            }
     97        }
     98
     99        //
     100        // create the parameter container of the the given class type
     101        //
     102        fReport = (MReport*)cls->New();
     103    }
     104    ~MReportHelp() { if (fReport) delete fReport; }
     105
    58106    const char *GetName() const { return fReport->GetIdentifier(); }
    59107    ULong_t GetNumReports() const { return fNumReports; }
     
    113161}
    114162
    115 Bool_t MReportFileRead::AddToList(MReport *rep) const
    116 {
     163Bool_t MReportFileRead::AddToList(const char *name) const
     164{
     165    MReportHelp *help = new MReportHelp(name, fLog);
     166
     167    MReport *rep = NULL;
     168    if (!(rep=help->GetReport()))
     169        return kFALSE;
     170
    117171    if (GetReport(rep->GetIdentifier()))
    118172    {
     
    120174        *fLog << rep->GetIdentifier() << "' already added to the list... ";
    121175        *fLog << "ignored." << endl;
    122         return kFALSE;
    123     }
    124 
    125     fList->Add(new MReportHelp(rep));
     176        delete help;
     177        return kFALSE;
     178    }
     179
     180    fList->Add(help);
    126181    return kTRUE;
    127182}
  • trunk/MagicSoft/Mars/mreport/MReportFileRead.h

    r2523 r2556  
    4040    ~MReportFileRead();
    4141
    42     Bool_t AddToList(MReport *rep) const;
     42    Bool_t AddToList(const char *name) const;
    4343
    4444    ClassDef(MReportFileRead, 0)        // Task to read the raw data binary file
  • trunk/MagicSoft/Mars/mreport/MReportTrigger.cc

    r2520 r2556  
    3636using namespace std;
    3737
    38 MReportTrigger::MReportTrigger() : MReport("TRIGGER-REPORT")
     38MReportTrigger::MReportTrigger() : MReport("TRIGGER-REPORT"), fPrescalerRates(19)//, fRates(11)
    3939{
    4040    fName = "MReportTrigger";
     
    4444{
    4545    str = str.Strip(TString::kLeading);
    46     Int_t pos = str.First(' ');
    47     if (pos<=0)
     46
     47    const Int_t ws = str.First(' ');
     48    if (ws<=0)
    4849    {
    4950        *fLog << err << "ERROR - Cannot determin name of trigger table." << endl;
     
    5152    }
    5253
    53     TString tablename = str(0, pos);
    54     str.Remove(0, pos);
     54    TString tablename = str(0, ws);
     55    str.Remove(0, ws);
    5556
    5657    Int_t len, n;
    5758
    58     pos = 0;
     59    const char *pos = str.Data();
    5960    for (int i=0; i<19; i++)
    6061    {
    61         n = sscanf(str.Data()+pos, " %f %n", &fScalerRate[i], &len);
     62        n = sscanf(pos, " %f %n", &fPrescalerRates[i], &len);
    6263        if (n!=1)
    6364        {
     
    6768        pos += len;
    6869    }
    69     n = sscanf(str.Data()+pos, " %f %f %n", &fL1TriggerRate,
    70                &fL2TriggerRate, &len);
     70    n = sscanf(pos, " %f %f %n", &fL2BeforePrescaler, &fL2AfterPrescaler, &len);
    7171    if (n!=2)
    7272    {
     
    7777    for (int i=0; i<11; i++)
    7878    {
    79         n = sscanf(str.Data()+pos, " %f %n", &fRates[i], &len);
     79        Float_t dummy;
     80        n = sscanf(pos, " %f %n", &dummy/*fRates[i]*/, &len);
    8081        if (n!=1)
    8182        {
     
    8586        pos += len;
    8687    }
    87     str.Remove(0, pos);
     88    str.Remove(0, pos-str.Data());
    8889    str.Strip(TString::kBoth);
    89 
    90     *fLog << "T" << flush;
    9190
    9291    return str==(TString)"OVER";
  • trunk/MagicSoft/Mars/mreport/MReportTrigger.h

    r2520 r2556  
    66#endif
    77
     8#ifndef ROOT_TArrayF
     9#include <TArrayF.h>
     10#endif
     11
    812class MReportTrigger : public MReport
    913{
    1014private:
    11     Float_t fScalerRate[19];
    12     Float_t fL1TriggerRate;
    13     Float_t fL2TriggerRate;
    14     Float_t fRates[13];
     15    Float_t fL2BeforePrescaler; // L2 trigger rate before prescaler
     16    Float_t fL2AfterPrescaler;  // L2 trigger rate before prescaler
     17
     18    TArrayF fPrescalerRates;    //[Hz] L2 prescaler rates
     19    //TArrayF fRates;           //[Hz] curently undefined
    1520
    1621public:
     
    1924    Bool_t InterpreteBody(TString &str);
    2025
    21     ClassDef(MReportTrigger, 0) // Base class for control reports
     26    ClassDef(MReportTrigger, 1) // Base class for control reports
    2227};
    2328
Note: See TracChangeset for help on using the changeset viewer.