Changeset 2556


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

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mbase/MParList.cc

    r2552 r2556  
    493493        {
    494494        case 1:
    495             *fLog << "gROOT->GetClass(\"" << cname << "\" returned NULL." << endl;
     495            *fLog << "gROOT->GetClass() returned NULL." << endl;
    496496            return NULL;
    497497        case 2:
  • trunk/MagicSoft/Mars/mbase/MTask.cc

    r2529 r2556  
    144144    TString s = str;
    145145
    146     while (1)
     146    while (!s.IsNull())
    147147    {
    148148        Int_t fst = s.First(',');
    149149
    150150        if (fst<0)
    151             return;
    152 
    153         AddToBranchList(TString(s(0, fst)));
     151            fst = s.Length();
     152
     153        AddToBranchList((const char*)TString(s(0, fst)));
    154154
    155155        s.Remove(0, fst+1);
  • trunk/MagicSoft/Mars/mbase/MTime.cc

    r2461 r2556  
    5151void MTime::Print(Option_t *) const
    5252{
    53     *fLog << GetDescriptor() << ": " << dec;
    54     *fLog << setfill('0') << setw(2) << (int)fHour << ":";
    55     *fLog << setfill('0') << setw(2) << (int)fMin  << ":";
    56     *fLog << setfill('0') << setw(2) << (int)fSec  << ".";
    57     *fLog << setfill('0') << setw(9) << fNanoSec << endl;
     53    *fLog << GetDescriptor() << ": " << dec << setfill('0');
     54    *fLog << setw(2) << (int)fHour << ":";
     55    *fLog << setw(2) << (int)fMin  << ":";
     56    *fLog << setw(2) << (int)fSec  << ".";
     57    *fLog << setw(9) << fNanoSec << endl;
    5858}
  • trunk/MagicSoft/Mars/mbase/MTime.h

    r2529 r2556  
    9696    }
    9797
    98     MTime *GetTime()
    99     {
    100         return this;
    101     }
    102 
    10398    UInt_t GetDuration()
    10499    {
     
    108103    operator double() const //[s]
    109104    {
    110         return fNanoSec/1e9+(fHour*24*60*60+fMin*60+fSec);
     105        return fNanoSec/1e9+(fHour*60*60+fMin*60+fSec);
    111106    }
    112107    double operator()() const //[s]
  • trunk/MagicSoft/Mars/mcamera/MCameraAUX.h

    r2535 r2556  
    1515    Bool_t fStatusFansFADC;  // Monitored status: o=off, 1=on, Cam.FADC.Fans_state
    1616public:
    17     ClassDef(MCameraAUX, 0)
     17    ClassDef(MCameraAUX, 1)
    1818};
    1919
  • trunk/MagicSoft/Mars/mcamera/MCameraCalibration.h

    r2553 r2556  
    2121
    2222public:
    23     ClassDef(MCameraCalibration, 0)
     23    ClassDef(MCameraCalibration, 1)
    2424};
    2525
  • trunk/MagicSoft/Mars/mcamera/MCameraCooling.h

    r2553 r2556  
    2929
    3030public:
    31     ClassDef(MCameraCooling, 0)
     31
     32    Byte_t  GetStatus() const              { return fStatus;              }
     33
     34    Bool_t  GetStatusPressureHi() const    { return fStatusPressureHi;    }
     35    Bool_t  GetStatusPressureLo() const    { return fStatusPressureLo;    }
     36    Bool_t  GetStatusPump() const          { return fStatusPump;          }
     37    Bool_t  GetStatusRefrigrerator() const { return fStatusRefrigrerator; }
     38    Bool_t  GetStatusValve() const         { return fStatusValve;         }
     39    Bool_t  GetStatusResistor() const      { return fStatusResistor;      }
     40    Bool_t  GetStatusFans() const          { return fStatusFans;          }
     41
     42    Float_t GetTempCenter() const          { return fTempCenter;          }
     43    Float_t GetTempWall() const            { return fTempWall;            }
     44    Float_t GetTempOptLink() const         { return fTempOptLink;         }
     45    Float_t GetTempWater() const           { return fTempWater;           }
     46
     47    Byte_t  GetHumWall() const             { return fHumWall;             }
     48    Byte_t  GetHumCenter() const           { return fHumCenter;           }
     49
     50    ClassDef(MCameraCooling, 1)
    3251};
    3352
  • trunk/MagicSoft/Mars/mcamera/MCameraHV.h

    r2553 r2556  
    2626public:
    2727    MCameraHV() : fHV(577) { }
    28     ClassDef(MCameraHV, 0)
     28    ClassDef(MCameraHV, 1)
    2929};
    3030
  • trunk/MagicSoft/Mars/mcamera/MCameraLV.h

    r2553 r2556  
    1717    Bool_t  fRequestPowerSupply;        // Requested status: o=off, 1=on, blv_ps_status
    1818
    19     Float_t  fStatusTemp;               // Measured status: o=off, 1=on, blv_temp
    20     Float_t  fStatusHumidity;           // Measured status: o=off, 1=on, blv_RelativeHumidity
     19    Float_t fTemp;                     // Measured status: o=off, 1=on, blv_temp
     20    Byte_t  fHumidity;                 // Measured status: o=off, 1=on, blv_RelativeHumidity
    2121
    2222    MCameraPowerSupply fPowerSupplyA;   // power supply camera part A
     
    2424
    2525public:
    26     ClassDef(MCameraLV, 0)
     26    ClassDef(MCameraLV, 1)
    2727};
    2828
  • trunk/MagicSoft/Mars/mcamera/MCameraLid.h

    r2553 r2556  
    22#define MARS_MCameraLid
    33
    4 #ifndef ROOT_TObject
    5 #include <TObject.h>
     4// Derived from MParContainer instead of TObject
     5// to supress writing fUniqueId and fBits
     6#ifndef MARS_MParContainer
     7#include <MParContainer.h>
    68#endif
    79
    8 class MCameraLid : public TObject
     10class MCameraLid : public MParContainer
    911{
    1012    friend class MReportCamera;
     
    1719     Byte_t fStatusMotor;      // 0=stopped, 1=opening, 2=closing
    1820public:
    19     ClassDef(MCameraLid, 0)
     21    ClassDef(MCameraLid, 1)
    2022};
    2123
  • trunk/MagicSoft/Mars/mcamera/MCameraLids.h

    r2553 r2556  
    1919    Byte_t fStatus; // CaCo monitored lid status, Cam.LID_state [0-9]
    2020public:
    21     ClassDef(MCameraLids, 0)
     21    ClassDef(MCameraLids, 1)
    2222};
    2323
  • trunk/MagicSoft/Mars/mcamera/MCameraPowerSupply.h

    r2553 r2556  
    1818     Float_t fCurrentPos12V;        // [A] current_pos12 (+12V)
    1919     Float_t fCurrentNeg12V;        // [A] current_neg12 (-12V)
    20      Float_t fCurrentOptLinkPos12V; // [V] current_opt_link_pos12 (+12V)
     20     Float_t fCurrentOptLinkPos12V; // [A] current_opt_link_pos12 (+12V)
    2121
    2222public:
    23     ClassDef(MCameraPowerSupply, 0)
     23    ClassDef(MCameraPowerSupply, 1)
    2424};
    2525
  • trunk/MagicSoft/Mars/mfileio/FileIOLinkDef.h

    r2147 r2556  
    88#pragma link C++ class MRead+;
    99#pragma link C++ class MReadTree+;
     10#pragma link C++ class MReadReports+;
    1011#pragma link C++ class MReadMarsFile+;
    1112#pragma link C++ class MReadCurrents+;
  • trunk/MagicSoft/Mars/mfileio/MReadTree.h

    r2206 r2556  
    1111class MReadTree : public MRead
    1212{
     13    friend class MReadReports;
     14
    1315private:
    1416    MChain *fChain;            // Pointer to tree
  • trunk/MagicSoft/Mars/mfileio/MWriteRootFile.cc

    r2529 r2556  
    264264                // No corresponding container is found
    265265                //
    266                 *fLog << dbginf << "Cannot find parameter container '" << cname << "'." << endl;
     266                *fLog << err << "Cannot find parameter container '" << cname << "'." << endl;
    267267                return kFALSE;
    268268            }
     
    312312            gDirectory = save;
    313313
    314             *fLog << "Created Tree " << tname << "." << endl;
     314            *fLog << inf << "Tree " << tname << " created." << endl;
    315315        }
    316316
     
    337337        if (branch)
    338338        {
    339             *fLog << dbginf << "Branch '" << cname << "' is already existing." << endl;
     339            *fLog << err << "Branch '" << cname << "' already existing." << endl;
    340340            return kFALSE;
    341341        }
     
    358358        if (!branch)
    359359        {
    360             *fLog << dbginf << "Unable to create branch '" << cname << "'." << endl;
     360            *fLog << err << "Unable to create branch '" << cname << "'." << endl;
    361361            return kFALSE;
    362362        }
     
    367367        //
    368368        entry->SetBranch(branch);
    369         *fLog << "Created Branch " << cname << " of " << cont->ClassName() << "." << endl;
     369        *fLog << inf << "Created Branch " << cname << " of " << cont->ClassName() << "." << endl;
    370370    }
    371371    return kTRUE;
  • trunk/MagicSoft/Mars/mfileio/Makefile

    r2178 r2556  
    3535           MChain.cc \
    3636           MReadTree.cc \
     37           MReadReports.cc \
    3738           MReadCurrents.cc \
    3839           MReadMarsFile.cc \
  • trunk/MagicSoft/Mars/mhist/HistLinkDef.h

    r2527 r2556  
    1010#pragma link C++ class MHArray+;
    1111#pragma link C++ class MH3+;
     12#pragma link C++ class MHVsTime+;
    1213
    1314#pragma link C++ class MBinning+;
  • trunk/MagicSoft/Mars/mhist/MFillH.cc

    r2551 r2556  
    154154    fParContainerName = par;
    155155
     156    AddToBranchList(Form("%s.*", (const char*)ExtractName(hist)));
     157    AddToBranchList(Form("%s.*", (const char*)ExtractName(par)));
     158
    156159    if (title)
    157160        return;
     
    196199    fParContainerName = par->GetName();
    197200
     201    AddToBranchList(Form("%s.*", (const char*)ExtractName(hist)));
     202    AddToBranchList(Form("%s.*", par->GetName()));
     203
    198204    if (!title)
    199205        fTitle = "Fill " + fHName + " from " + par->GetDescriptor();
     
    218224
    219225    AddToBranchList(fH->GetDataMember());
     226    AddToBranchList(Form("%s.*", (const char*)ExtractName(par)));
    220227
    221228    if (title)
     
    248255
    249256    AddToBranchList(fH->GetDataMember());
     257    AddToBranchList(Form("%s.*", par->GetName()));
    250258
    251259    if (!title)
  • trunk/MagicSoft/Mars/mhist/Makefile

    r2526 r2556  
    3333           MBinning.cc \
    3434           MH.cc \
     35           MHVsTime.cc \
    3536           MHArray.cc \
    3637           MWeight.cc \
  • trunk/MagicSoft/Mars/mraw/MRawFileWrite.cc

    r2470 r2556  
    105105//  - MRawEvtData
    106106//  - MRawCrateArray
    107 //  - MRawEvtTime <MTime>
     107//  - MTime
    108108//  - MRawRunHeader
    109109// if a container isn't found the eventloop is stopped.
     
    154154    }
    155155
    156     fRawEvtTime = (MTime*)pList->FindObject("MRawEvtTime");
    157     if (!fRawEvtTime)
    158     {
    159         *fLog << err << dbginf << "MRawEvtTime not found... aborting." << endl;
     156    fTime = (MTime*)pList->FindObject("MTime");
     157    if (!fTime)
     158    {
     159        *fLog << err << dbginf << "MTime not found... aborting." << endl;
    160160        return kFALSE;
    161161    }
     
    186186    // create data trees for the three types of data
    187187    //
    188     fTData        = new TTree("Events",    "Normal Triggered Events");
    189     fTPedestal    = new TTree("PedEvents", "Pedestal Triggered Events");
    190     fTCalibration = new TTree("CalEvents", "Calibration Triggered Events");
     188    fTData        = new TTree("Events",      "Normal Triggered Events");
     189    fTPedestal    = new TTree("Pedestals",  "Pedestal Triggered Events");
     190    fTCalibration = new TTree("Calibration", "Calibration Triggered Events");
    191191
    192192    //
     
    213213    // FIXME: Can we calculate a good buffer size out of the event size?
    214214    //        using splitlevel=0 sppeds up writing by a factor of 5-10%
    215     fTData       ->Branch("MTime.",          "MTime",          &fRawEvtTime,    32000);
    216     fTPedestal   ->Branch("MTime.",          "MTime",          &fRawEvtTime,    32000);
    217     fTCalibration->Branch("MTime.",          "MTime",          &fRawEvtTime,    32000);
     215    fTData       ->Branch("MTime.",          "MTime",          &fTime,          32000);
     216    fTPedestal   ->Branch("MTime.",          "MTime",          &fTime,          32000);
     217    fTCalibration->Branch("MTime.",          "MTime",          &fTime,          32000);
    218218    fTData       ->Branch("MRawEvtHeader.",  "MRawEvtHeader",  &fRawEvtHeader,  32000);
    219219    fTPedestal   ->Branch("MRawEvtHeader.",  "MRawEvtHeader",  &fRawEvtHeader,  32000);
  • trunk/MagicSoft/Mars/mraw/MRawFileWrite.h

    r2207 r2556  
    2121    MParList *pParList;
    2222
    23     MTime          *fRawEvtTime;
     23    MTime          *fTime;
    2424    MRawRunHeader  *fRawRunHeader;
    2525    MRawEvtHeader  *fRawEvtHeader;
  • 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.