Ignore:
Timestamp:
06/14/08 15:19:45 (16 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mreport
Files:
2 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mreport/MReport.cc

    r8002 r8955  
    1818!   Author(s): Thomas Bretz, 11/2003 <mailto:tbretz@astro.uni-wuerzburg.de>
    1919!
    20 !   Copyright: MAGIC Software Development, 2000-2003
     20!   Copyright: MAGIC Software Development, 2000-2008
    2121!
    2222!
     
    5555// --------------------------------------------------------------------------
    5656//
     57// Copy fState and fTime
     58//
     59void MReport::Copy(TObject &obj) const
     60{
     61    MReport &rep = static_cast<MReport&>(obj);
     62
     63    rep.fState = fState;
     64
     65    if (rep.fTime && fTime)
     66        *rep.fTime = *fTime;
     67}
     68
     69// --------------------------------------------------------------------------
     70//
     71// Check whether the given TString begins with the given tag. Remove
     72// the tag from the string.
     73//
     74Bool_t MReport::CheckTag(TString &str, const char *tag) const
     75{
     76    if (!str.BeginsWith(tag))
     77    {
     78        *fLog << warn << "WARNING - '" << tag << "' tag not found." << endl;
     79        return kFALSE;
     80    }
     81    str.Remove(0, strlen(tag)); // Remove Tag
     82    return kTRUE;
     83}
     84
     85// --------------------------------------------------------------------------
     86//
    5787// Interpretes the beginning of a line which starts like:
    5888//   status hour minute second millisec skip skip skip skip skip
     
    6393// SetupReading must be called successfully before.
    6494//
    65 Bool_t MReport::InterpreteHeader(TString &str)
     95Bool_t MReport::InterpreteHeader(TString &str, Int_t ver)
    6696{
    6797    int len, state;
    6898    int yea, mon, day, hor, min, sec, ms;
    6999
    70     int n = sscanf(str.Data(),
    71                    fHasReportTime ?
    72                    " %d %d %d %d %d %d %d %d %*d %*d %*d %*d %*d %*d %*d %*d %n" :
    73                    " %d %d %d %d %d %d %d %d %n",
     100    TString fmt(fHasReportTime ?
     101                " %d %d %d %d %d %d %d %d %*d %*d %*d %*d %*d %*d %*d %*d %n" :
     102                " %d %d %d %d %d %d %d %d %n");
     103
     104    // M1/M2 telescope number (FIXME: Readout, check?)
     105    if (ver>=200805190)
     106        fmt.Prepend(" %*c%*d");
     107
     108    int n = sscanf(str.Data(), fmt.Data(),
    74109                   &state, &yea, &mon, &day, &hor, &min, &sec, &ms, &len);
    75110    if (n!=8)
    76111    {
    77         *fLog << err << "ERROR - Cannot interprete Body of " << fIdentifier << " (n=" << n << ")" << endl;
     112        *fLog << err << "ERROR - Cannot interprete header of " << fIdentifier << " (n=" << n << ")" << endl;
    78113        return kFALSE;
    79114    }
     
    136171{
    137172    // Interprete header (time, status, etc) of report
    138     if (!InterpreteHeader(str))
     173    if (!InterpreteHeader(str, ver))
    139174        return kFALSE;
    140175
  • trunk/MagicSoft/Mars/mreport/MReport.h

    r7208 r8955  
    1919
    2020    ULong_t Hash() const { return fIdentifier.Hash(); }
    21     Bool_t InterpreteHeader(TString &str);
     21    Bool_t InterpreteHeader(TString &str, Int_t ver);
     22
     23protected:
     24    Bool_t CheckTag(TString &str, const char *tag) const;
     25
     26    void Copy(TObject &obj) const;
    2227
    2328public:
  • trunk/MagicSoft/Mars/mreport/MReportCC.cc

    r8287 r8955  
    1818!   Author(s): Thomas Bretz, 12/2003 <mailto:tbretz@astro.uni-wuerzburg.de>
    1919!
    20 !   Copyright: MAGIC Software Development, 2000-2003
     20!   Copyright: MAGIC Software Development, 2000-2008
    2121!
    2222!
     
    4444
    4545#include "MParList.h"
     46
     47#include "MReportRec.h"
    4648
    4749#include "MCameraTH.h"
     
    7173Bool_t MReportCC::SetupReading(MParList &plist)
    7274{
     75    fRecRep = (MReportRec*)plist.FindCreateObj("MReportRec");
     76    if (!fRecRep)
     77        return kFALSE;
     78
     79    fRecTime = (MTime*)plist.FindCreateObj("MTime", "MTimeRec");
     80    if (!fRecTime)
     81        return kFALSE;
     82
     83
    7384    fTH = (MCameraTH*)plist.FindCreateObj("MCameraTH");
    7485    if (!fTH)
     
    8394        return kFALSE;
    8495
     96
    8597    return MReport::SetupReading(plist);
    8698}
    87 
    88 // --------------------------------------------------------------------------
    89 //
    90 // Check whether the given TString begins with the given tag. Remove
    91 // the tag from the string.
    92 //
    93 Bool_t MReportCC::CheckTag(TString &str, const char *tag) const
    94 {
    95     if (!str.BeginsWith(tag))
    96     {
    97         *fLog << warn << "WARNING - '" << tag << "' tag not found." << endl;
    98         return kFALSE;
    99     }
    100     str.Remove(0, strlen(tag)); // Remove Tag
    101     return kTRUE;
    102 }
    103 
    10499
    105100// --------------------------------------------------------------------------
     
    123118    if (n!=6)
    124119    {
    125         *fLog << warn << "WARNING - Wrong number of arguments." << endl;
     120        cout << n << endl;
     121        *fLog << warn << "WARNING - Wrong number of arguments (should be 6)." << endl;
    126122        return kFALSE;
    127123    }
    128124
    129125    str.Remove(0, len);
    130 
    131     return kTRUE;
    132 }
    133 
    134 // --------------------------------------------------------------------------
    135 //
    136 // Interprete the TH (discriminator thresholds) part of the report
    137 //
    138 Bool_t MReportCC::InterpreteTH(TString &str, Int_t ver)
    139 {
    140     if (!CheckTag(str, "TH "))
    141         return kFALSE;
    142 
    143     // Skip the TH (discriminator thresholds) part of the report (for old
    144     // CC files with wrong or nonsense number of TH-Bytes)
    145     if (ver<200507190)
    146     {
    147         Ssiz_t pr = str.First(' ');
    148         if (pr<0)
    149         {
    150             *fLog << warn << "WARNING - No TH information found at all." << endl;
    151             return kFALSE;
    152         }
    153         if (pr!=1154)
    154         {
    155             fTD->Invalidate();
    156 
    157             str.Remove(0, pr);
    158             str=str.Strip(TString::kLeading);
    159             return kTRUE;
    160         }
    161     }
    162 
    163     const char *pos = str.Data();
    164     const char *end = str.Data()+577*2;
    165 
    166     Int_t i=0;
    167     while (pos<end)
    168     {
    169         const Char_t hex[3] = { pos[0], pos[1], 0 };
    170         pos += 2;
    171 
    172         const Int_t n=sscanf(hex, "%2hhx", &fTH->fTH[i++]);
    173         if (n==1)
    174             continue;
    175 
    176         *fLog << warn << "WARNING - Reading hexadecimal TH information." << endl;
    177         return kFALSE;
    178     }
    179 
    180     fTH->SetValid();
    181 
    182     str.Remove(0, end-str.Data()); // Remove TH
    183     str=str.Strip(TString::kLeading);
    184     return kTRUE;
    185 }
    186 
    187 // --------------------------------------------------------------------------
    188 //
    189 // Interprete the TD (discriminator delays) part of the report
    190 //
    191 Bool_t MReportCC::InterpreteTD(TString &str, Int_t ver)
    192 {
    193     if (!CheckTag(str, "TD "))
    194         return kFALSE;
    195 
    196     // Skip the TD (discriminator delays) part of the report (for old
    197     // CC files with wrong or nonsense number of TD-Bytes)
    198     if (ver<200412210)
    199     {
    200         Ssiz_t pr = str.First(' ');
    201         if (pr<0)
    202         {
    203             *fLog << warn << "WARNING - No TD information found at all." << endl;
    204             return kFALSE;
    205         }
    206         if (pr!=1000)
    207         {
    208             fTD->Invalidate();
    209 
    210             str.Remove(0, pr);
    211             str=str.Strip(TString::kLeading);
    212             return kTRUE;
    213         }
    214     }
    215 
    216     // Older files have less bytes (pixels) stored
    217     const Int_t numpix = ver<200510250 ? 500 : 577;
    218 
    219     const char *pos = str.Data();
    220     const char *end = str.Data()+numpix*2;
    221 
    222     Int_t i=0;
    223     while (pos<end)
    224     {
    225         const Char_t hex[3] = { pos[0], pos[1], 0 };
    226         pos += 2;
    227 
    228         const Int_t n=sscanf(hex, "%2hhx", &fTD->fTD[i++]);
    229         if (n==1)
    230             continue;
    231 
    232         *fLog << warn << "WARNING - Reading hexadecimal TD information." << endl;
    233         return kFALSE;
    234     }
    235 
    236     fTD->SetValid();
    237 
    238     str.Remove(0, end-str.Data()); // Remove TD
    239     str=str.Strip(TString::kLeading);
    240 
    241     return kTRUE;
    242 }
    243 
    244 
    245 // --------------------------------------------------------------------------
    246 //
    247 // Interprete the receiver board temperature part of the report
    248 //
    249 Bool_t MReportCC::InterpreteRecTemp(TString &str)
    250 {
    251     if (!CheckTag(str, "RECTEMP "))
    252         return kFALSE;
    253 
    254     Int_t len;
    255     for (Int_t i=0; i<76; i++)
    256     {
    257         const Int_t n=sscanf(str.Data(), "%f %n", &fRecTemp->fRecTemp[i], &len);
    258         str.Remove(0, len);
    259 
    260         if (n==1)
    261             continue;
    262 
    263         if (n==0 && i==0)
    264         {
    265             *fLog << inf << "Receiver Board Temperatures empty." << endl;
    266             fRecTemp->Invalidate();
    267             break;
    268         }
    269 
    270         *fLog << warn << "WARNING - Reading Receiver Board Temperature information." << endl;
    271         return kFALSE;
    272     }
    273126
    274127    return kTRUE;
     
    291144        return kCONTINUE;
    292145
    293     if (str.BeginsWith("RECEIVERS-COM-ERROR"))
     146    if (ver<200805190)
    294147    {
    295         *fLog << inf << "Receiver Com-error... threshold setting and receiver board temp. invalid." << endl;
    296         fTD->Invalidate();
    297         fTH->Invalidate();
    298         fRecTemp->Invalidate();
    299         str.Remove(0, 19);
    300     }
    301     else
    302     {
    303         if (!InterpreteTH(str, ver))
    304             return kCONTINUE;
    305 
    306         if (!InterpreteTD(str, ver))
    307             return kCONTINUE;
    308 
    309         if (ver>=200510250)
    310             if (!InterpreteRecTemp(str))
    311                 return kCONTINUE;
     148        fRecRep->InterpreteRec(str, ver, *fTH, *fTD, *fRecTemp);
     149        fRecRep->Copy(*this);
     150        fRecRep->SetReadyToSave();
    312151    }
    313152
  • trunk/MagicSoft/Mars/mreport/MReportCC.h

    r7719 r8955  
    66#endif
    77
     8class MReportRec;
    89class MCameraTH;
    910class MCameraTD;
     
    2526    MCameraRecTemp *fRecTemp; //! Receiver Board temperatures
    2627
     28    MReportRec     *fRecRep;  //! Pipe interpretation to MReportRec if necessary
     29    MTime          *fRecTime; //! Time stamp for Receiver part of reports
     30
    2731    // Internal
    2832    Bool_t SetupReading(MParList &plist);
    29     Bool_t CheckTag(TString &str, const char *tag) const;
    30 
    3133    Bool_t InterpreteCC(TString &str, Int_t ver);
    32     Bool_t InterpreteTH(TString &str, Int_t ver);
    33     Bool_t InterpreteTD(TString &str, Int_t ver);
    34     Bool_t InterpreteRecTemp(TString &str);
    3534
    3635    // MReport
  • trunk/MagicSoft/Mars/mreport/MReportCamera.cc

    r7209 r8955  
    1919!   Author(s): Daniel Mazin, 04/2005 <mailto:mazin@mppmu.mpg.de>
    2020!
    21 !   Copyright: MAGIC Software Development, 2000-2003
     21!   Copyright: MAGIC Software Development, 2000-2008
    2222!
    2323!
     
    111111
    112112    return MReport::SetupReading(plist);
    113 }
    114 
    115 // --------------------------------------------------------------------------
    116 //
    117 // Check whether the given TString begins with the given tag. Remove
    118 // the tag from the string.
    119 //
    120 Bool_t MReportCamera::CheckTag(TString &str, const char *tag) const
    121 {
    122     if (!str.BeginsWith(tag))
    123     {
    124         *fLog << warn << "WARNING - '" << tag << "' tag not found." << endl;
    125         return kFALSE;
    126     }
    127     str.Remove(0, strlen(tag)); // Remove DC currents
    128     return kTRUE;
    129113}
    130114
  • trunk/MagicSoft/Mars/mreport/MReportCamera.h

    r7202 r8955  
    3434
    3535    Bool_t SetupReading(MParList &plist);
    36     Bool_t CheckTag(TString &str, const char *tag) const;
    3736
    3837    Bool_t InterpreteCamera(TString &str, Int_t ver);
  • trunk/MagicSoft/Mars/mreport/MReportFileRead.cc

    r7804 r8955  
    172172        return kTRUE;
    173173
    174     const Int_t n = CheckFileHeader();
    175     fNumLine += n;
    176     return n==2;
     174    fNumLine = CheckFileHeader();
     175    return fNumLine>0;
    177176}
    178177
  • trunk/MagicSoft/Mars/mreport/MReportFileRead.h

    r4575 r8955  
    3030    MTime   fStop;          // Time range which should be read from file
    3131
    32     ULong_t fNumLine;       // line counter
     32    Long_t fNumLine;       // line counter
    3333
    3434    Int_t   fVersion;       // File format version
  • trunk/MagicSoft/Mars/mreport/MReportFileReadCC.cc

    r7719 r8955  
    1818!   Author(s): Thomas Bretz, 11/2003 <mailto:tbretz@astro.uni-wuerzburg.de>
    1919!
    20 !   Copyright: MAGIC Software Development, 2000-2004
     20!   Copyright: MAGIC Software Development, 2000-2008
    2121!
    2222!
     
    6161//
    6262MReportFileReadCC::MReportFileReadCC(const char *fname, const char *name, const char *title)
    63     : MReportFileRead(fname, name, title), fRunNumber(-1)
     63    : MReportFileRead(fname, name, title), fTelescope(-1), fRunNumber(-1), fFileNumber(-1)
    6464{
    6565    fName  = name  ? name  : "MReportFileReadCC";
    6666    fTitle = title ? title : "Read task to read Central Control report files";
     67}
     68
     69Int_t MReportFileReadCC::GetRunNumber(const TString &str) const
     70{
     71    Int_t run = -1;
     72
     73    // whole night report file
     74    if (str==TString("[CC Report File]"))
     75        run = 0;
     76
     77    // report file matching a single run
     78    if (!str(TRegexp("^[CC Run [0-9]+ Control File]$")).IsNull())
     79        run = atoi(str(TRegexp(" [0-9]+")).Data());
     80
     81    if (run<0)
     82    {
     83        *fLog << err << "ERROR - First line doesn't match '[CC Report File]' ";
     84        *fLog << "nor '^[CC Run [0-9]+ Control File]$'" << endl;
     85        return -1;
     86    }
     87
     88    if (fRunNumber!=-1 && fRunNumber!=run)
     89    {
     90        *fLog << err << "ERROR - Requested run #" << fRunNumber << " doesn't ";
     91        *fLog << "match, found run #" << run << endl;
     92        return -1;
     93    }
     94
     95    return run;
     96}
     97
     98Int_t MReportFileReadCC::GetVersion(const TString &str) const
     99{
     100    if (str(TRegexp("^Arehucas Version Number [0-9]+-[0-9]$")).IsNull())
     101    {
     102        *fLog << err << "ERROR - Version '^Arehucas Version Number [0-9]+-[0-9]$' ";
     103        *fLog << "not found in second line." << endl;
     104        return -1;
     105    }
     106
     107    TString num = str(TRegexp("[0-9]+-[0-9]"));
     108    num.Prepend("20");
     109    num.ReplaceAll("-", "");
     110
     111    return atoi(num.Data());
     112}
     113
     114Int_t MReportFileReadCC::GetTelescope(const TString &str) const
     115{
     116    if (str(TRegexp("^Telescope M[0-9]$")).IsNull())
     117    {
     118        *fLog << err << "ERROR - '^Telescope M[0-9]$' not found in third line." << endl;
     119        return -1;
     120    }
     121
     122    const Int_t num = atoi(str.Data()+11);
     123
     124    if (fTelescope != 1 && fTelescope !=2)
     125    {
     126        *fLog << err << "ERROR - Telsope number M" << num << " in third line unknown." << endl;
     127        return -1;
     128    }
     129
     130    if (fTelescope!=-1 && fTelescope!=num)
     131    {
     132        *fLog << err << "ERROR - Requested telescope M" << fTelescope << " doesn't ";
     133        *fLog << "match, found M" << num << endl;
     134        return -1;
     135    }
     136
     137    return num;
     138}
     139
     140Int_t MReportFileReadCC::GetFileNumber(const TString &str) const
     141{
     142    if (str(TRegexp("^Subrun [0-9]+$")).IsNull())
     143    {
     144        *fLog << err << "ERROR - '^Subrun [0-9]+$' not found in fourth line." << endl;
     145        return -1;
     146    }
     147
     148    const Int_t num = atoi(str.Data()+7);
     149
     150    if (fFileNumber!=-1 && fFileNumber!=num)
     151    {
     152        *fLog << err << "ERROR - Requested file number (subrun) " << fFileNumber << " doesn't ";
     153        *fLog << "match, found " << num << endl;
     154        return -1;
     155    }
     156
     157    return num;
    67158}
    68159
     
    76167Int_t MReportFileReadCC::CheckFileHeader()
    77168{
    78     Int_t line = 0;
    79 
    80169    TString str;
    81170    str.ReadLine(*fIn);   // Read to EOF or newline
    82171    if (!*fIn)
    83         return line;
    84 
    85     line++;
    86 
    87     Int_t run = -1;
    88 
    89     // whole night report file
    90     if (str==TString("[CC Report File]"))
    91         run = 0;
    92 
    93     // report file matching a single run
    94     if (!str(TRegexp("^[CC Run [0-9]+ Control File]$")).IsNull())
    95         run = atoi(str(TRegexp(" [0-9]+")).Data());
    96 
     172    {
     173        *fLog << "ERROR - Unexpected end of file (file empty)" << endl;
     174        return -1;
     175    }
     176
     177    const Int_t run = GetRunNumber(str);
    97178    if (run<0)
    98     {
    99         *fLog << err << "ERROR - First line doesn't match '[CC Report File]' ";
    100         *fLog << "nor '^[CC Run [0-9]+ Control File]$'" << endl;
    101         return line;
    102     }
    103 
    104     if (fRunNumber!=-1 && fRunNumber!=run)
    105     {
    106         *fLog << err << "ERROR - Requested run #" << fRunNumber << " doesn't ";
    107         *fLog << "match found run #" << run << endl;
    108         return line;
    109     }
    110 
    111     str.ReadLine(*fIn);   // Read to EOF or newline
    112     if (!*fIn)
    113         return line;
    114 
    115     if (str(TRegexp("^Arehucas Version Number [0-9]+-[0-9]$")).IsNull())
    116     {
    117         *fLog << err << "ERROR - Version '^Arehucas Version Number [0-9]+-[0-9]$' ";
    118         *fLog << "not found in second line." << endl;
    119         return line;
    120     }
    121     line++;
    122 
    123     str = str(TRegexp("[0-9]+-[0-9]"));
    124     str.Prepend("20");
    125     str.ReplaceAll("-", "");
    126 
    127     const Int_t ver = atoi(str.Data());
     179        return -1;
     180
     181    fRunNumber = run;
     182
     183    // -----------------------------------------------------------
     184
     185    str.ReadLine(*fIn);   // Read to EOF or newline
     186    if (!*fIn)
     187    {
     188        *fLog << "ERROR - Unexpected end of file after line 1." << endl;
     189        return -1;
     190    }
     191
     192    const Int_t ver = GetVersion(str);
     193    if (ver<0)
     194        return -1;
    128195
    129196    *fLog << all << "Report File version: <" << ver << ">" << endl;
    130 
    131197    SetVersion(ver);
    132198
    133     return line;
    134 }
     199    // -----------------------------------------------------------
     200
     201    fTelescope = 1;
     202
     203    if (ver<200805190)
     204        return 3;
     205
     206    str.ReadLine(*fIn);   // Read to EOF or newline
     207    if (!*fIn)
     208    {
     209        *fLog << "ERROR - Unexpected end of file after line 2." << endl;
     210        return -1;
     211    }
     212
     213    const Int_t tel = GetTelescope(str);
     214    if (tel<0)
     215        return -1;
     216
     217    fTelescope = tel;
     218
     219    // -----------------------------------------------------------
     220
     221    if (fRunNumber==0)
     222        return kTRUE;
     223
     224    str.ReadLine(*fIn);   // Read to EOF or newline
     225    if (!*fIn)
     226    {
     227        *fLog << "ERROR - Unexpected end of file after line 3." << endl;
     228        return -1;
     229    }
     230
     231    const Int_t num = GetFileNumber(str);
     232    if (num<0)
     233        return -1;
     234
     235    fFileNumber = num;
     236
     237    // -----------------------------------------------------------
     238
     239    return 4;
     240}
  • trunk/MagicSoft/Mars/mreport/MReportFileReadCC.h

    r4575 r8955  
    99{
    1010private:
     11    Int_t fTelescope;
    1112    Int_t fRunNumber;
     13    Int_t fFileNumber;
     14
     15    Int_t GetRunNumber(const TString &str) const;
     16    Int_t GetVersion(const TString &str) const;
     17    Int_t GetTelescope(const TString &str) const;
     18    Int_t GetFileNumber(const TString &str) const;
    1219
    1320    Int_t CheckFileHeader();
     
    1522public:
    1623    MReportFileReadCC(const char *filename, const char *name=NULL, const char *title=NULL);
    17     void SetRunNumber(Int_t run) { fRunNumber = run; }
     24
     25    void SetTelescope(Int_t num)  { fTelescope  = num; }
     26    void SetRunNumber(Int_t run)  { fRunNumber  = run; }
     27    void SetFileNumber(Int_t run) { fFileNumber = run; }
    1828
    1929    ClassDef(MReportFileReadCC, 0)// Task to read the central control report file
  • trunk/MagicSoft/Mars/mreport/MReportRun.cc

    r8933 r8955  
    5757Int_t MReportRun::InterpreteBody(TString &str, Int_t ver)
    5858{
     59    // --------- Get Token (START/STOP) ---------
     60
    5961    const Int_t ws = str.First(' ');
    6062    if (ws<0)
     
    6870    str = str.Strip(TString::kBoth);
    6971
     72    // --------- Get Run Number ---------
     73
    7074    Int_t len, run;
    7175    const Int_t n=sscanf(str.Data(), "%d %n", &run, &len);
     
    7781    str.Remove(0, len);
    7882
     83    // --------- Get File Number ---------
     84    Int_t file = 0;
     85    if (ver>=200805190)
     86    {
     87        Int_t len;
     88        const Int_t n=sscanf(str.Data(), "%d %n", &file, &len);
     89        if (n!=1)
     90        {
     91            *fLog << warn << "WARNING - Wrong number of arguments." << endl;
     92            return kCONTINUE;
     93        }
     94        str.Remove(0, len);
     95    }
     96
     97    // --------- Invalidate Run/File Number if run was stopped ---------
    7998    if (tok=="START")
    8099    {
    81100        if (fRunNumber!=-1)
    82101            *fLog << warn << "WARNING - RUN-REPORT STOP missing for run #" << dec << fRunNumber <<  endl;
    83         fRunNumber = run;
     102
     103        fRunNumber  = run;
     104        fFileNumber = file;
    84105    }
     106
    85107    if (tok=="STOP")
    86108    {
    87109        if (fRunNumber==-1)
    88110            *fLog << warn << "WARNING - RUN-REPORT START missing for run #" << dec << fRunNumber << endl;
    89         fRunNumber = -1;
     111        else
     112        {
     113            if (fRunNumber!=run)
     114                *fLog << warn << "WARNING - RUN-REPORT STOP run number #" << dec << run << " doesn't match started run #" << fRunNumber << "." << endl;
     115
     116            if (fFileNumber!=file)
     117                *fLog << warn << "WARNING - RUN-REPORT STOP file number #" << dec << run << " doesn't match started file #" << fFileNumber << "." << endl;
     118        }
     119
     120        fRunNumber  = -1;
     121        fFileNumber = -1;
    90122    }
    91123
     124    // --------- Get source name ---------
    92125    Ssiz_t pos = str.First(' ');
    93126    if (pos<0)
    94127        pos = str.Length();
    95     fSourceName = str(0, pos+1);
     128    fSourceName = TString(str(0, pos+1)).Strip(TString::kBoth);
    96129
    97130    return kTRUE;
  • trunk/MagicSoft/Mars/mreport/MReportRun.h

    r4575 r8955  
    1010private:
    1111    Int_t   fRunNumber;
     12    Int_t   fFileNumber;
    1213    TString fSourceName;
    1314
     
    2021    TString GetSourceName() { return fSourceName; }
    2122
    22     Int_t GetRunNumber() const { return fRunNumber; }
     23    Int_t GetRunNumber() const  { return fRunNumber; }
     24    Int_t GetFileNumber() const { return fFileNumber; }
    2325
    2426    ClassDef(MReportRun, 0) // Class for RUN-REPORT information
  • trunk/MagicSoft/Mars/mreport/Makefile

    r8933 r8955  
    2424SRCFILES = MReport.cc \
    2525           MReportCC.cc \
     26           MReportRec.cc \
    2627           MReportRun.cc \
    2728           MReportDAQ.cc \
  • trunk/MagicSoft/Mars/mreport/ReportLinkDef.h

    r8933 r8955  
    88
    99#pragma link C++ class MReportCC+;
     10#pragma link C++ class MReportRec+;
    1011#pragma link C++ class MReportRun+;
    1112#pragma link C++ class MReportDAQ+;
Note: See TracChangeset for help on using the changeset viewer.