Changeset 8961 for trunk/MagicSoft/Mars


Ignore:
Timestamp:
06/15/08 20:10:34 (16 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r8958 r8961  
    2222 2008/06/14 Thomas Bretz
    2323
     24   * merpp.cc:
     25     - replaced MRawFileWrite by MWriteRootFile
     26
     27   * showplot.cc:
     28     - added new options to write tiff files
     29     - added new options to write csv files
     30     - some code simplification
     31
     32   * datacenter/macros/plotdb.C:
     33     - set the title (without axis descriptions) as Tab-title
     34     - set FrameBorderMode to 0 for canvas
     35
     36   * mbase/MStatusArray.[h,cc]:
     37     - added a copy constructor taking MStatusDislay as an argument
     38     - set gLog to all in Print()
     39
     40   * mhbase/MFillH.[h,cc]:
     41     - allow to set a title in SetNameTab which is used as tab title
     42     - therefore added new data member fTitleTab
     43     - increased class version by 1
     44
     45   * mraw/MRawRead.cc:
     46     - set ReadyToSave for raw data to be able to use MWriteRootFile
     47       in merpp
     48
     49   * mraw/Makefile, mraw/RawLinkDef.h:
     50     - removed MRawFileWrite
     51
     52
     53
     54 2008/06/14 Thomas Bretz
     55
    2456   * mtrigger/MFTriggerPattern.cc:
    2557     - improved documentation
     
    3163   * datacenter/macros/plotdb.C:
    3264     - increased range for the rate of the calibration events
     65     - added "RatioCal" tab
     66
     67   * datacenter/macros/fillstar.C:
     68     - fill NULL also if TGraph is empty
    3369
    3470   * mastro/MAstro.cc:
  • trunk/MagicSoft/Mars/NEWS

    r8955 r8961  
    6666
    6767   * fixed mars (event display) for merpped raw-data and MC data
     68
     69 ;showplot
     70
     71   * Added support for tiff files
     72
     73   * Added support for csv files (tables containing tab number,
     74     name and title)
     75
     76   * Tabs now can have a title which is displayed in the postscript file
    6877
    6978 ;merpp
  • trunk/MagicSoft/Mars/datacenter/macros/plotdb.C

    r8960 r8961  
    11/* ======================================================================== *\
    2 ! $Name: not supported by cvs2svn $:$Id: plotdb.C,v 1.43 2008-06-14 18:38:19 tbretz Exp $
     2! $Name: not supported by cvs2svn $:$Id: plotdb.C,v 1.44 2008-06-15 19:09:19 tbretz Exp $
    33! --------------------------------------------------------------------------
    44!
     
    229229        gROOT->SetSelectedPad(0);
    230230
     231        TString cname  = fNameTab.IsNull() ? name(name.First('.')+2, name.Length()) : fNameTab;
     232        TString ctitle = fDescription.IsNull() ? name.Data() : fDescription.Data();
     233        if (ctitle.First(';')>0)
     234            ctitle.Remove(ctitle.First(';'), ctitle.Length());
     235
    231236        // Create a TCanvas or open a new tab
    232         TString title = fNameTab.IsNull() ? name(name.First('.')+2, name.Length()) : fNameTab;
    233         TCanvas &c = fDisplay ? fDisplay->AddTab(title) : *new TCanvas;
     237        TCanvas &c = fDisplay ? fDisplay->AddTab(cname, ctitle) : *new TCanvas(cname, ctitle);
    234238        // Set fillcolor, remove border and divide pad
    235239        c.SetFillColor(kWhite);
     240        c.SetFrameBorderMode(0);
    236241        c.SetBorderMode(0);
    237242        c.Divide(1,2);
    238243
    239244        // Output mean and rms to console
    240         cerr << setprecision(4) << setw(10) << title << ":   ";
     245        cerr << setprecision(4) << setw(10) << cname << ":   ";
    241246        if (gt.GetN()==0)
    242247        {
  • trunk/MagicSoft/Mars/mbase/MStatusArray.cc

    r8484 r8961  
    5656
    5757using namespace std;
     58
     59// --------------------------------------------------------------------------
     60//
     61// Initialize the MStatusArray from an MStatusDisplay. Note, the contents
     62// still owned by MStatusDisplay and will vanish if the display changes
     63// or is deleted without further notice.
     64//
     65MStatusArray::MStatusArray(const MStatusDisplay &d) : TObjArray()
     66{
     67    d.FillArray(*this);
     68}
    5869
    5970// --------------------------------------------------------------------------
     
    256267void MStatusArray::Print(Option_t *option) const
    257268{
    258     const TString opt(option);
    259 
    260     PrintObjectsInPad(this, opt);
     269    gLog << all;
     270
     271    PrintObjectsInPad(this, TString(option));
    261272}
    262273
  • trunk/MagicSoft/Mars/mbase/MStatusArray.h

    r8299 r8961  
    2828public:
    2929    MStatusArray() : TObjArray() { }
     30    MStatusArray(const MStatusDisplay &d);
    3031
    3132    TObject *DisplayIn(Option_t *o=0) const;         // *MENU*
     
    3940
    4041    void Print(Option_t *o="") const;
    41     void Print(Option_t *wildcard, Option_t *) const
    42     {
    43         Print(wildcard);
    44     }
     42    void Print(const Option_t *o, Option_t *) const { Print(o); }
    4543
    4644    TObject *FindObject(const char *object, const char *base) const;
  • trunk/MagicSoft/Mars/merpp.cc

    r8955 r8961  
    1 #include <TSystem.h>
    2 
    31#include <TFile.h>
    42#include <TTree.h>
     
    97
    108#include "MRawFileRead.h"
    11 #include "MSqlInsertRun.h"
    12 #include "MRawFileWrite.h"
    139#include "MReportFileReadCC.h"
    1410#include "MWriteRootFile.h"
     
    2016#include "MTime.h"
    2117#include "MArray.h"
    22 #include "MRawEvtData.h"
    2318#include "MRawRunHeader.h"
    24 #include "MRawEvtHeader.h"
    25 #include "MRawCrateArray.h"
    2619
    2720#include "MFDataPhrase.h"
     
    342335    // be created by MRawFileRead::PreProcess
    343336    //
    344     MTask   *read   = 0;
    345     MFilter *filter = 0;
    346     MTask   *write  = 0;
    347 
    348337    const TString option(kUpdate ? "UPDATE" : "RECREATE");
     338
     339    MTask          *read   = 0;
     340    MFilter        *filter = 0;
     341    MWriteRootFile *write  = new MWriteRootFile(kNameout, option, "Magic root-file", kComprlvl);
     342
    349343    if (isreport || isdc)
    350344    {
    351         MWriteRootFile *w = new MWriteRootFile(kNameout, option, "Magic root-file", kComprlvl);
    352345        if (isdc)
    353346        {
    354             w->AddContainer("MTimeCurrents",      "Currents");
    355             w->AddContainer("MCameraDC",          "Currents");
    356             w->AddContainer("MReportCurrents",    "Currents");
     347            write->AddContainer("MTimeCurrents",      "Currents");
     348            write->AddContainer("MCameraDC",          "Currents");
     349            write->AddContainer("MReportCurrents",    "Currents");
    357350        }
    358351        else
    359352        {
    360353            const Bool_t required = kOnly.IsNull();
    361             w->AddContainer("MReportCamera",      "Camera",     required);
    362             w->AddContainer("MTimeCamera",        "Camera",     required);
    363             w->AddContainer("MCameraAUX",         "Camera",     required);
    364             w->AddContainer("MCameraCalibration", "Camera",     required);
    365             w->AddContainer("MCameraCooling",     "Camera",     required);
    366             w->AddContainer("MCameraActiveLoad",  "Camera",     required);
    367             w->AddContainer("MCameraHV",          "Camera",     required);
    368             w->AddContainer("MCameraLV",          "Camera",     required);
    369             w->AddContainer("MCameraLids",        "Camera",     required);
    370             w->AddContainer("MReportTrigger",     "Trigger",    required);
    371             w->AddContainer("MTimeTrigger",       "Trigger",    required);
    372             w->AddContainer("MTriggerBit",        "Trigger",    required);
    373             w->AddContainer("MTriggerIPR",        "Trigger",    required);
    374             w->AddContainer("MTriggerCell",       "Trigger",    required);
    375             w->AddContainer("MTriggerPrescFact",  "Trigger",    required);
    376             w->AddContainer("MTriggerLiveTime",   "Trigger",    required);
    377             w->AddContainer("MReportDrive",       "Drive",      required);
    378             w->AddContainer("MTimeDrive",         "Drive",      required);
    379             w->AddContainer("MCameraTH",          "Rec",        required);
    380             w->AddContainer("MCameraTD",          "Rec",        required);
    381             w->AddContainer("MCameraRecTemp",     "Rec",        required);
    382             w->AddContainer("MReportRec",         "Rec",        required);
    383             w->AddContainer("MTimeRec",           "Rec",        required);
    384             w->AddContainer("MReportCC",          "CC",         required);
    385             w->AddContainer("MTimeCC",            "CC",         required);
    386             w->AddContainer("MReportStarguider",  "Starguider", required);
    387             w->AddContainer("MTimeStarguider",    "Starguider", required);
    388             w->AddContainer("MReportPyrometer",   "Pyrometer",  required);
    389             w->AddContainer("MTimePyrometer",     "Pyrometer",  required);
    390             // w->AddContainer("MReportDAQ",         "DAQ");
    391             // w->AddContainer("MTimeDAQ",           "DAQ");
     354            write->AddContainer("MReportCamera",      "Camera",     required);
     355            write->AddContainer("MTimeCamera",        "Camera",     required);
     356            write->AddContainer("MCameraAUX",         "Camera",     required);
     357            write->AddContainer("MCameraCalibration", "Camera",     required);
     358            write->AddContainer("MCameraCooling",     "Camera",     required);
     359            write->AddContainer("MCameraActiveLoad",  "Camera",     required);
     360            write->AddContainer("MCameraHV",          "Camera",     required);
     361            write->AddContainer("MCameraLV",          "Camera",     required);
     362            write->AddContainer("MCameraLids",        "Camera",     required);
     363            write->AddContainer("MReportTrigger",     "Trigger",    required);
     364            write->AddContainer("MTimeTrigger",       "Trigger",    required);
     365            write->AddContainer("MTriggerBit",        "Trigger",    required);
     366            write->AddContainer("MTriggerIPR",        "Trigger",    required);
     367            write->AddContainer("MTriggerCell",       "Trigger",    required);
     368            write->AddContainer("MTriggerPrescFact",  "Trigger",    required);
     369            write->AddContainer("MTriggerLiveTime",   "Trigger",    required);
     370            write->AddContainer("MReportDrive",       "Drive",      required);
     371            write->AddContainer("MTimeDrive",         "Drive",      required);
     372            write->AddContainer("MCameraTH",          "Rec",        required);
     373            write->AddContainer("MCameraTD",          "Rec",        required);
     374            write->AddContainer("MCameraRecTemp",     "Rec",        required);
     375            write->AddContainer("MReportRec",         "Rec",        required);
     376            write->AddContainer("MTimeRec",           "Rec",        required);
     377            write->AddContainer("MReportCC",          "CC",         required);
     378            write->AddContainer("MTimeCC",            "CC",         required);
     379            write->AddContainer("MReportStarguider",  "Starguider", required);
     380            write->AddContainer("MTimeStarguider",    "Starguider", required);
     381            write->AddContainer("MReportPyrometer",   "Pyrometer",  required);
     382            write->AddContainer("MTimePyrometer",     "Pyrometer",  required);
     383            // write->AddContainer("MReportDAQ",         "DAQ");
     384            // write->AddContainer("MTimeDAQ",           "DAQ");
    392385        }
    393         write = w;
    394386
    395387        MReportFileReadCC *r = new MReportFileReadCC(kNamein);
     
    424416                r->AddToList("MReportRun");
    425417                filter = new MFDataPhrase(f.Data());
    426                 w->SetFilter(filter);
     418                write->SetFilter(filter);
    427419            }
    428420        }
     
    434426        static_cast<MRawFileRead*>(read)->SetInterleave(kInterleave);
    435427        static_cast<MRawFileRead*>(read)->SetForceMode(kForceProc);
    436         write = new MRawFileWrite(kNameout, option, "Magic root-file", kComprlvl);
     428
     429        write->AddContainer("MRawRunHeader",  "RunHeader");
     430        write->AddContainer("MTime",          "Events");
     431        write->AddContainer("MRawEvtHeader",  "Events");
     432        write->AddContainer("MRawEvtData",    "Events");
     433        write->AddContainer("MRawEvtData2",   "Events");
     434        write->AddContainer("MRawCrateArray", "Events");
    437435    }
    438436
  • trunk/MagicSoft/Mars/mhbase/MFillH.cc

    r8297 r8961  
    1818!   Author(s): Thomas Bretz, 07/2001 <mailto:tbretz@astro.uni-wuerzburg.de>
    1919!
    20 !   Copyright: MAGIC Software Development, 2000-2004
     20!   Copyright: MAGIC Software Development, 2000-2008
    2121!
    2222!
     
    6565//   Checkout the Warning in MTaskList.
    6666//
     67//  Version 3:
     68//  ----------
     69//   - added fTitleTab
     70//
    6771//  Version 2:
    6872//  ----------
     
    396400
    397401    if (!fCanvas)
    398         fCanvas = &fDisplay->AddTab(tabname);
     402    {
     403        const TString tabtitle = fTitleTab.IsNull() ? fH->GetTitle() : fTitleTab.Data();
     404        fCanvas = &fDisplay->AddTab(tabname, tabtitle);
     405    }
    399406
    400407    fCanvas->cd();
  • trunk/MagicSoft/Mars/mhbase/MFillH.h

    r8618 r8961  
    2929    TString fHName;               // Name to a MH container to get filled
    3030    TString fNameTab;
     31    TString fTitleTab;
    3132
    3233    MParameterD *fWeight;         // Pointer to the container storing a weight
     
    5758    ~MFillH();
    5859
    59     void SetNameTab(const char *n="") { fNameTab = n; }
     60    void SetNameTab(const char *n="", const char *t="") { fNameTab = n; fTitleTab = t; }
     61    void SetTitleTab(const char *t="") { fTitleTab = t; }
    6062
    6163    void SetRuleForIdx(const TString rule);
     
    7678    TCanvas *GetCanvas() { return fCanvas; }
    7779
    78     ClassDef(MFillH, 2) // Task to fill a histogram with data from a parameter container
     80    ClassDef(MFillH, 3) // Task to fill a histogram with data from a parameter container
    7981};
    8082   
  • trunk/MagicSoft/Mars/mraw/MRawRead.cc

    r8945 r8961  
    258258        return kCONTINUE;
    259259
     260    fRawEvtData1->SetReadyToSave();
     261    fRawEvtData2->SetReadyToSave();
     262
    260263    return kTRUE;
    261264}
  • trunk/MagicSoft/Mars/mraw/Makefile

    r5676 r8961  
    2929           MRawCrateData.cc \
    3030           MRawRead.cc \
    31            MRawFileWrite.cc \
    3231           MRawFileRead.cc \
    3332           MRawSocketRead.cc
  • trunk/MagicSoft/Mars/mraw/RawLinkDef.h

    r4577 r8961  
    1717#pragma link C++ class MRawSocketRead+;
    1818#pragma link C++ class MRawFileRead+;
    19 #pragma link C++ class MRawFileWrite+;
     19//#pragma link C++ class MRawFileWrite+;
    2020
    2121#endif
  • trunk/MagicSoft/Mars/showplot.cc

    r8683 r8961  
    4545    gLog << "   --save-as-pdf[=filename]  Save plots as pdf-file" << endl;
    4646    gLog << "   --save-as-svg[=filename]  Save plots as svg-file" << endl;
    47     gLog << "   --save-as-root[=filename] Save plots as root file" << endl;
     47    gLog << "   --save-as-gif[=filename]  Save plots as gif files" << endl;
     48    gLog << "   --save-as-jpg[=filename]  Save plots as jpg files" << endl;
     49    gLog << "   --save-as-xpm[=filename]  Save plots as xpm files" << endl;
     50    gLog << "   --save-as-png[=filename]  Save plots as png files" << endl;
     51    gLog << "   --save-as-bmp[=filename]  Save plots as bmp files" << endl;
     52    gLog << "   --save-as-xml[=filename]  Save plots as xml files" << endl;
     53    gLog << "   --save-as-tiff[=filename] Save plots as tiff files" << endl;
     54    gLog << "   --save-as-root[=filename] Save plots as root file" << endl << endl;
     55    gLog << "   --save-as-csv[=filename]  Save list of plots as csv table" << endl << endl;
    4856    gLog << "   --save-as-C[=filename]    Save plots as root scripts" << endl;
    4957    gLog << "   --tab=num                 Save only tab number num" << endl << endl;
     
    5159    gLog << "   --print-cmd='lpr -P%p %f' Set the printer command" << endl;
    5260    gLog << "   --print-dir=/tmp          Set the printing temp directory" << endl << endl;
    53     gLog << " GUI only options:" << endl;
    54     gLog << "   --save-as-gif[=filename]  Save plots as gif files" << endl;
    55     gLog << "   --save-as-jpg[=filename]  Save plots as jpg files" << endl;
    56     gLog << "   --save-as-xpm[=filename]  Save plots as xpm files" << endl;
    57     gLog << "   --save-as-png[=filename]  Save plots as png files" << endl;
    58     gLog << "   --save-as-bmp[=filename]  Save plots as bmp files" << endl;
    59     gLog << "   --save-as-xml[=filename]  Save plots as xml files" << endl << endl;
    6061    gLog << " Size options:" << endl;
    6162    gLog << "   --display-width=w         Set width of display window to w" << endl;
     
    8889}
    8990
     91TString InflatePath(const MArgs &args)
     92{
     93    TString kInput = args.GetArgumentStr(0);
     94
     95    //
     96    // Something special for datacenter access
     97    //
     98    if (args.GetNumArguments()!=2)
     99        return kInput;
     100
     101    //
     102    // Something special for datacenter access
     103    //
     104    const Int_t num = args.GetArgumentStr(1).Atoi();
     105
     106    TString file = "/magic/data/";
     107
     108    kInput.ToLower();
     109    switch (kInput.Hash())
     110    {
     111    case 3438106369U:
     112    case  764164111U:
     113        file += "callisto";
     114        break;
     115    default:
     116        file += kInput;
     117        break;
     118    }
     119    file += kInput==(TString)"ganymed" ? Form("/%05d", num/100000) : Form("/%04d", num/10000);
     120    file += Form("/%08d/", num);
     121    file += kInput;
     122    file += Form("%08d.root", num);
     123
     124    kInput = file;
     125
     126    gLog << inf << "Inflated file name: " << kInput << endl;
     127
     128    return kInput;
     129}
     130
    90131int main(int argc, char **argv)
    91132{
     
    128169    const Bool_t kSaveAsBmp  = arg.HasOnlyAndRemove("--save-as-bmp")  || arg.Has("--save-as-bmp=");
    129170    const Bool_t kSaveAsXml  = arg.HasOnlyAndRemove("--save-as-xml")  || arg.Has("--save-as-xml=");
     171    const Bool_t kSaveAsCsv  = arg.HasOnlyAndRemove("--save-as-csv")  || arg.Has("--save-as-csv=");
     172    const Bool_t kSaveAsTiff = arg.HasOnlyAndRemove("--save-as-tiff") || arg.Has("--save-as-tiff=");
    130173    const Bool_t kSaveAsRoot = arg.HasOnlyAndRemove("--save-as-root") || arg.Has("--save-as-root=");
    131174    const Bool_t kSaveAsC    = arg.HasOnlyAndRemove("--save-as-C")    || arg.Has("--save-as-C=");
    132175
    133     const Int_t  kCanvasWidth   = arg.GetIntAndRemove("--canvas-width=",   -1);
    134     const Int_t  kCanvasHeight  = arg.GetIntAndRemove("--canvas-height=",  -1);
     176    const Int_t  kCanvasWidth  = arg.GetIntAndRemove("--canvas-width=",   -1);
     177    const Int_t  kCanvasHeight = arg.GetIntAndRemove("--canvas-height=",  -1);
    135178
    136179    const Bool_t kAutoSize = arg.HasOnlyAndRemove("--auto-size");
     
    143186    }
    144187
    145     TString kNamePrint = arg.GetStringAndRemove("--print=");
    146     TString kPrintCmd  = arg.GetStringAndRemove("--print-cmd=");
    147     TString kPrintDir  = arg.GetStringAndRemove("--print-dir=");
    148     TString kNamePs    = arg.GetStringAndRemove("--save-as-ps=");
    149     TString kNamePdf   = arg.GetStringAndRemove("--save-as-pdf=");
    150     TString kNameSvg   = arg.GetStringAndRemove("--save-as-svg=");
    151     TString kNameGif   = arg.GetStringAndRemove("--save-as-gif=");
    152     TString kNameJpg   = arg.GetStringAndRemove("--save-as-jpg=");
    153     TString kNameXpm   = arg.GetStringAndRemove("--save-as-xpm=");
    154     TString kNamePng   = arg.GetStringAndRemove("--save-as-png=");
    155     TString kNameBmp   = arg.GetStringAndRemove("--save-as-bmp=");
    156     TString kNameXml   = arg.GetStringAndRemove("--save-as-xml=");
    157     TString kNameRoot  = arg.GetStringAndRemove("--save-as-root=");
    158     TString kNameC     = arg.GetStringAndRemove("--save-as-C=");
    159 
     188    //
     189    // check arguments before processing them in InflatePath
     190    //
     191    if (arg.GetNumArguments()<1 || arg.GetNumArguments()>2)
     192    {
     193        gLog << warn << "WARNING - Wrong number of arguments..." << endl;
     194        Usage();
     195        return 2;
     196    }
     197    if (arg.GetNumArguments()==2 && !arg.GetArgumentStr(1).IsDigit())
     198    {
     199        gLog << warn << "WARNING - First argument must not be a number..." << endl;
     200        Usage();
     201        return 2;
     202    }
     203
     204    //
     205    // Process filenames
     206    //
     207    const TString kInput = InflatePath(arg);
     208
     209    const TString kNamePrint = arg.GetStringAndRemove("--print=",        kInput);
     210    const TString kPrintCmd  = arg.GetStringAndRemove("--print-cmd=",    kInput);
     211    const TString kPrintDir  = arg.GetStringAndRemove("--print-dir=",    kInput);
     212    const TString kNamePs    = arg.GetStringAndRemove("--save-as-ps=",   kInput);
     213    const TString kNamePdf   = arg.GetStringAndRemove("--save-as-pdf=",  kInput);
     214    const TString kNameSvg   = arg.GetStringAndRemove("--save-as-svg=",  kInput);
     215    const TString kNameGif   = arg.GetStringAndRemove("--save-as-gif=",  kInput);
     216    const TString kNameJpg   = arg.GetStringAndRemove("--save-as-jpg=",  kInput);
     217    const TString kNameXpm   = arg.GetStringAndRemove("--save-as-xpm=",  kInput);
     218    const TString kNamePng   = arg.GetStringAndRemove("--save-as-png=",  kInput);
     219    const TString kNameBmp   = arg.GetStringAndRemove("--save-as-bmp=",  kInput);
     220    const TString kNameXml   = arg.GetStringAndRemove("--save-as-xml=",  kInput);
     221    const TString kNameCsv   = arg.GetStringAndRemove("--save-as-csv=",  kInput);
     222    const TString kNameTiff  = arg.GetStringAndRemove("--save-as-tiff=", kInput);
     223    const TString kNameRoot  = arg.GetStringAndRemove("--save-as-root=", kInput);
     224    const TString kNameC     = arg.GetStringAndRemove("--save-as-C=",    kInput);
    160225
    161226    //
     
    169234        return 3;
    170235    }
    171     if (arg.GetNumArguments()<1 || arg.GetNumArguments()>2)
    172     {
    173         gLog << warn << "WARNING - Wrong number of arguments..." << endl;
    174         Usage();
    175         return 2;
    176     }
    177     if (arg.GetNumArguments()==2 && !arg.GetArgumentStr(1).IsDigit())
    178     {
    179         gLog << warn << "WARNING - First argument must not be a number..." << endl;
    180         Usage();
    181         return 2;
    182     }
    183 
     236
     237    //
     238    // Initialize root environment
     239    //
    184240    TApplication *app = kRoot ? new TRint("showplot", &argc, argv) : new TApplication("showplot", &argc, argv);
    185241    if (!gROOT->IsBatch() && !gClient || gROOT->IsBatch() && !kBatch)
     
    188244        return 1;
    189245    }
    190 
    191     //
    192     // Process filenames
    193     //
    194     TString kInput = arg.GetArgumentStr(0);
    195 
    196     //
    197     // Something special for datacenter access
    198     //
    199     if (arg.GetNumArguments()==2)
    200     {
    201         const Int_t num = arg.GetArgumentStr(1).Atoi();
    202         TString file = "/magic/data/";
    203 
    204         kInput.ToLower();
    205         switch (kInput.Hash())
    206         {
    207         case 3438106369U:
    208         case  764164111U:
    209             file += "callisto";
    210             break;
    211         default:
    212             file += kInput;
    213             break;
    214         }
    215         file += kInput==(TString)"ganymed" ? Form("/%05d", num/100000) : Form("/%04d", num/10000);
    216         file += Form("/%08d/", num);
    217         file += kInput;
    218         file += Form("%08d.root", num);
    219 
    220         kInput = file;
    221 
    222         gLog << inf << "Inflated file name: " << kInput << endl;
    223     }
    224 
    225     if (kNamePs.IsNull()   && kSaveAsPs)
    226         kNamePs = kInput;
    227     if (kNamePdf.IsNull()  && kSaveAsPdf)
    228         kNamePdf = kInput;
    229     if (kNameSvg.IsNull()  && kSaveAsSvg)
    230         kNameSvg = kInput;
    231     if (kNameGif.IsNull()  && kSaveAsGif)
    232         kNameGif = kInput;
    233     if (kNameJpg.IsNull()  && kSaveAsJpg)
    234         kNameJpg = kInput;
    235     if (kNameXpm.IsNull()  && kSaveAsXpm)
    236         kNameXpm = kInput;
    237     if (kNamePng.IsNull()  && kSaveAsPng)
    238         kNamePng = kInput;
    239     if (kNameBmp.IsNull()  && kSaveAsBmp)
    240         kNameBmp = kInput;
    241     if (kNameXml.IsNull()  && kSaveAsXml)
    242         kNameXml = kInput;
    243     if (kNameRoot.IsNull() && kSaveAsRoot)
    244         kNameRoot = kInput;
    245     if (kNameC.IsNull()    && kSaveAsC)
    246         kNameC = kInput;
    247246
    248247    //
     
    282281    if (kSaveAsXml)
    283282        d->SaveAsXML(kTab,  kNameXml);
     283    if (kSaveAsCsv)
     284        d->SaveAsCSV(kTab,  kNameCsv);
     285    if (kSaveAsTiff)
     286        d->SaveAsTIFF(kTab, kNameTiff);
    284287    if (kSaveAsRoot)
    285288        d->SaveAsRoot(kTab, kNameRoot);
Note: See TracChangeset for help on using the changeset viewer.