Changeset 1023 for trunk/MagicSoft/Mars


Ignore:
Timestamp:
11/01/01 10:19:46 (23 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/macros/MagicHillas.C

    r949 r1023  
    2424
    2525
    26 void MagicHillas()
     26void MagicHillas(const char *filename="data/camera.root")
    2727{
    2828    //
     
    5050
    5151    //
    52     // The Hillas histograms (MHHillas) could be created automatically
    53     // but to make sure, that they are not deleted when the macro is
    54     // finished you must create them yourself and add it to the list
    55     //
    56     MHHillas *hists = new MHHillas;
    57     plist.AddToList(hists);
    58 
    59     MHStarMap *smap = new MHStarMap;
    60     plist.AddToList(smap);
    61 
    62     //
    6352    // Now setup the tasks and tasklist:
    6453    //
     
    7665    //   CalEvents:  Calibration Events
    7766    //
    78     MReadTree read("Events", "data/octobertest.root");
     67    MReadTree read("Events", filename);
    7968    // read.AddFile("data/cer000019.root");
    8069
    81     MCerPhotCalc    ncalc;
    82     MImgCleanStd    clean;
    83     MHillasCalc     hcalc;
    84     MFillH          hfill("MHillas", "MHHillas");
    85     MFillH          sfill("MHillas", "MHStarMap");
     70    MCerPhotCalc ncalc;
     71    MImgCleanStd clean;
     72    MHillasCalc  hcalc;
     73    MFillH       hfill("MHillas", "MHHillas");
     74    MFillH       sfill("MHillas", "MHStarMap");
    8675
    87     MWriteRootFile  write("hillas.root");
     76    //
     77    // Crete and setup Tasklist
     78    //
     79    MWriteRootFile write("hillas.root");
    8880    write.AddContainer("MHillas");
    89     write.AddContainer("MHHillas");
    90     write.AddContainer(smap);
     81    write.AddContainer("MHStarMap");
    9182
    9283    tlist.AddToList(&read);
     
    113104    // After the analysis is finished we can display the histograms
    114105    //
    115     hists->Draw();
    116     smap->Draw();
     106    plist.FindObject("MHHillas")->DrawClone();
     107    plist.FindObject("MHStarMap")->DrawClone();
    117108}
    118109
  • trunk/MagicSoft/Mars/manalysis/MCerPhotPix.h

    r1014 r1023  
    2424    MCerPhotPix(Int_t pix = -1, Float_t phot=0., Float_t errphot=0.);
    2525
    26     void Print(Option_t *opt = NULL) const;
     26    Int_t   GetPixId() const         { return fPixId;   }
     27    Float_t GetNumPhotons() const    { return fPhot;    }
     28    Float_t GetErrorPhot() const     { return fErrPhot; }
    2729
    28     Int_t   GetPixId() const      { return fPixId;   }
    29     Float_t GetNumPhotons() const { return fPhot;    }
    30     Float_t GetErrorPhot() const  { return fErrPhot; }
     30    void    SetPixelContent(Int_t pix, Float_t phot, Float_t errphot);
    3131
    32     void SetPixelContent(Int_t pix, Float_t phot, Float_t errphot);
     32    Bool_t  IsPixelUsed() const      { return fIsUsed;   }
     33    void    SetPixelUnused()         { fIsUsed = kFALSE; }
     34    void    SetPixelUsed()           { fIsUsed = kTRUE;  }
    3335
    34     Bool_t IsPixelUsed() const    { return fIsUsed;   }
    35     void   SetPixelUnused()       { fIsUsed = kFALSE; }
    36     void   SetPixelUsed()         { fIsUsed = kTRUE;  }
     36    void    SetCorePixel()           { fIsCore = kTRUE; }
     37    Bool_t  IsCorePixel() const      { return fIsCore;  }
    3738
    38     void   SetCorePixel()         { fIsCore = kTRUE; }
    39     Bool_t IsCorePixel() const    { return fIsCore; }
     39    void    SetNumPhotons(Float_t f) { fPhot    = f; }
     40    void    SetErrorPhot(Float_t f)  { fErrPhot = f; }
    4041
    41     void SetNumPhotons(Float_t f) { fPhot    = f; }
    42     void SetErrorPhot(Float_t f)  { fErrPhot = f; }
     42    void    Print(Option_t *opt = NULL) const;
    4343
    4444    ClassDef(MCerPhotPix, 1)  // class containing information about the Cerenkov Photons in a pixel
  • trunk/MagicSoft/Mars/mbase/MParList.cc

    r1022 r1023  
    6666    fContainer  = new TOrdCollection;
    6767    fAutodelete = new TOrdCollection;
    68 
    69     fAutodelete->SetOwner();
    7068}
    7169
     
    8987MParList::~MParList()
    9088{
    91     if (TestBit(kIsOwner))
    92         fContainer->SetOwner();
     89    const Bool_t isowner = TestBit(kIsOwner);
     90
     91    //
     92    // Case:
     93    //  1) MParList is owner of the containers:
     94    //     All container are stored in fContainer, and become deleted by
     95    //     'delete fContainer'. Some of these containers, which were
     96    //     created automatically are stored in fAutodelete, too. To prevent
     97    //     double deletion this containers are not deleted by the destructor
     98    //     of fAutodelete.
     99    //  2) MParList is not owner of the containers:
     100    //     The containers which were Added by AddToList are not touched.
     101    //     Only the containers which were created automatically are also
     102    //     automatically deleted.
     103    //
     104    fContainer->SetOwner(isowner);
     105    fAutodelete->SetOwner(!isowner);
    93106
    94107    delete fContainer;
     
    113126void MParList::SetLogStream(MLog *log)
    114127{
    115     TIter Next(fContainer);
    116 
    117     MParContainer *cont=NULL;
    118 
    119     //
    120     // loop over all tasks for preproccesing
    121     //
    122     while ( (cont=(MParContainer*)Next()) )
    123         cont->SetLogStream(log);
    124 
     128    fContainer->ForEach(MParContainer, SetLogStream)(log);
    125129    MParContainer::SetLogStream(log);
    126130}
     
    209213    MParContainer *cont = NULL;
    210214    while ((cont=(MParContainer*)Next()))
    211     {
    212215        AddToList(cont);
    213 /*        //
    214         // Get Name of new container
    215         //
    216         const char *name = cont->GetName();
    217 
    218         //
    219         // Check if the new container is already existing in the list
    220         //
    221         const TObject *objn = fContainer->FindObject(name);
    222         const TObject *objt = fContainer->FindObject(cont);
    223 
    224         if (objn || objt)
    225         {
    226             //
    227             // If the container is already in the list ignore it.
    228             //
    229             if (objt || objn==cont)
    230             {
    231                 *fLog << dbginf << "Warning: Container '" << cont->GetName() << ", 0x" << (void*)cont;
    232                 *fLog << "' already existing in '" << GetName() << "'... ignoring." << endl;
    233                 continue;
    234             }
    235 
    236             //
    237             // Otherwise add it to the list, but print a warning message
    238             //
    239             *fLog << dbginf << "Warning: Container with the same name '" << cont->GetName();
    240             *fLog << "' already existing in '" << GetName() << "'." << endl;
    241             *fLog << "You may not be able to get a pointer to container task by name." << endl;
    242         }
    243 
    244         *fLog << "Adding " << name << " to " << GetName() << "... " << flush;
    245 
    246         fContainer->Add(cont);
    247 
    248         *fLog << "Done." << endl;*/
    249     }
    250216}
    251217
     
    426392void MParList::SetReadyToSave(Bool_t flag)
    427393{
    428     TIter Next(fContainer);
    429 
    430     MParContainer *cont=NULL;
    431 
    432     //
    433     // loop over all tasks for preproccesing
    434     //
    435     while ( (cont=(MParContainer*)Next()) )
    436         cont->SetReadyToSave(flag);
    437 
     394    fContainer->ForEach(MParContainer, SetReadyToSave)(flag);
    438395    MParContainer::SetReadyToSave(flag);
    439396}
     
    445402void MParList::Reset()
    446403{
    447     TIter Next(fContainer);
    448 
    449     MParContainer *cont=NULL;
    450 
    451     //
    452     // loop over all tasks for preproccesing
    453     //
    454     while ((cont=(MParContainer*)Next()))
    455         cont->Reset();
     404    fContainer->ForEach(MParContainer, Reset)();
    456405}
    457406
  • trunk/MagicSoft/Mars/mbase/MTaskList.cc

    r1006 r1023  
    113113void MTaskList::SetLogStream(MLog *log)
    114114{
    115     //
    116     // create the Iterator over the tasklist
    117     //
    118     TIter Next(fTasks);
    119 
    120     MTask *task=NULL;
    121 
    122     //
    123     // loop over all tasks for preproccesing
    124     //
    125     while ((task=(MTask*)Next()))
    126         task->SetLogStream(log);
    127 
     115    fTasks->ForEach(MTask, SetLogStream)(log);
    128116    MParContainer::SetLogStream(log);
    129117}
     
    383371    //  create the Iterator for the TaskList
    384372    //
    385     TIter Next(fTasks);
    386 
    387     MTask *task=NULL;
    388     //
    389     //  loop over all tasks for postprocessing
    390     //  only tasks which have successfully been preprocessed are postprocessed.
    391     //
    392     while ( (task=(MTask*)Next()) )
    393         task->PrintStatistics(lvl+1);
     373    fTasks->ForEach(MTask, PrintStatistics)(lvl+1);
    394374
    395375    if (lvl==0)
  • trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc

    r991 r1023  
    2828
    2929#include <TGTab.h>                // TGTab
     30#include <TGMenu.h>               // TGPopupMenu
     31#include <TCanvas.h>              // TCanvas::Print
    3032#include <TGLabel.h>              // TGLabel
    3133#include <TGButton.h>             // TGPictureButton
    3234#include <TGMsgBox.h>             // TGMsgBox
    3335#include <TGTextEntry.h>          // TGTextEntry
     36#include <TGFileDialog.h>         // TGFileDialog
    3437#include <TRootEmbeddedCanvas.h>  // TRootEmbeddedCanvas
    3538
     
    4649enum MGCamDisplayCommand
    4750{
    48     M_PREVEVT,
    49     M_NEXTEVT,
    50     M_EVTNUMBER,
    51 
    52     M_PRINT,
    53     M_CLOSE
     51    kEvtPrev,
     52    kEvtNext,
     53    kEvtNumber,
     54
     55    kFileSaveAs,
     56    kFileSaveAsRoot,
     57    kFileSaveAsC,
     58    kFileSaveAsPS,
     59    kFileSaveAsEPS,
     60    kFileSaveAsGIF,
     61    kFilePrint,
     62    kClose
    5463};
    5564
     
    155164    // Create the gui elements
    156165    //
    157     TGTextButton *prevevt = new TGTextButton(top2, "<< Previous Event", M_PREVEVT);
     166    TGTextButton *prevevt = new TGTextButton(top2, "<< Previous Event", kEvtPrev);
    158167    prevevt->Associate(this);
    159168
    160169    TGLabel *evtnr = new TGLabel(top2, new TGString("Event: "));
    161170
    162     fTxtEvtNr = new TGTextEntry(top2, new TGTextBuffer(100), M_EVTNUMBER);
     171    fTxtEvtNr = new TGTextEntry(top2, new TGTextBuffer(100), kEvtNumber);
    163172    fTxtEvtNr->Resize(60, fTxtEvtNr->GetDefaultHeight());
    164173    fTxtEvtNr->Associate(this);
     
    166175    fNumOfEvts = new TGLabel(top2, "out of           Events.");
    167176
    168     TGTextButton *nextevt = new TGTextButton (top2, "Next Event >>", M_NEXTEVT);
     177    TGTextButton *nextevt = new TGTextButton (top2, "Next Event >>", kEvtNext);
    169178    nextevt->Associate(this);
    170179
     
    252261void MGEvtDisplay::AddLowFrame(TGHorizontalFrame *frame)
    253262{
    254     TGTextButton *but1 = new TGTextButton(frame, "Print", M_PRINT);
    255     TGTextButton *but2 = new TGTextButton(frame, "Close", M_CLOSE);
    256 
    257     but1->Associate(this);
    258     but2->Associate(this);
    259 
    260     fList->Add(but1);
    261     fList->Add(but2);
     263    TGTextButton *but = new TGTextButton(frame, "Close", kClose);
     264
     265    but->Associate(this);
     266
     267    fList->Add(but);
    262268
    263269    TGLayoutHints *laybut = new TGLayoutHints(kLHintsLeft, 10, 10, 10, 10);
    264270    fList->Add(laybut);
    265271
    266     frame->AddFrame(but1, laybut);
    267     frame->AddFrame(but2, laybut);
     272    frame->AddFrame(but, laybut);
    268273}
    269274
     
    330335//  Constructor
    331336//
     337void MGEvtDisplay::AddMenuBar()
     338{
     339    //
     340    // Add all GUI elements and update the event counter
     341    //
     342    TGLayoutHints *laymenubar  = new TGLayoutHints(kLHintsTop|kLHintsLeft|kLHintsExpandX, 2, 2, 2, 2);
     343    TGLayoutHints *laymenuitem = new TGLayoutHints(kLHintsTop|kLHintsLeft, 0, 4, 0, 0);
     344    TGLayoutHints *laylinesep  = new TGLayoutHints(kLHintsTop|kLHintsExpandX);
     345
     346    fList->Add(laymenubar);
     347    fList->Add(laymenuitem);
     348    fList->Add(laylinesep);
     349
     350    TGPopupMenu *filemenu = new TGPopupMenu(gClient->GetRoot());
     351    filemenu->AddEntry("Save &As...",           kFileSaveAs);
     352    filemenu->AddEntry("Save As display.&ps",   kFileSaveAsPS);
     353    filemenu->AddEntry("Save As display.&eps",  kFileSaveAsEPS);
     354    filemenu->AddEntry("Save As display.&gif",  kFileSaveAsGIF);
     355    filemenu->AddEntry("Save As display.&C",    kFileSaveAsC);
     356    filemenu->AddEntry("Save As display.&root", kFileSaveAsRoot);
     357    filemenu->AddSeparator();
     358    filemenu->AddEntry("&Print...", kFilePrint);
     359    filemenu->AddSeparator();
     360    filemenu->AddEntry("E&xit", kClose);
     361    filemenu->Associate(this);
     362
     363    TGMenuBar *menubar = new TGMenuBar(this, 1, 1, kHorizontalFrame);
     364    menubar->AddPopup("File", filemenu, laymenuitem);
     365    AddFrame(menubar, laymenubar);
     366
     367    TGHorizontal3DLine *linesep = new TGHorizontal3DLine(this);
     368    AddFrame(linesep, laylinesep);
     369
     370    fList->Add(filemenu);
     371    fList->Add(menubar);
     372    fList->Add(linesep);
     373}
     374
    332375MGEvtDisplay::MGEvtDisplay(const char *fname, const char *tname,
    333376                           const TGWindow *p, const TGWindow *main,
     
    346389    // (via SetOwner())
    347390    //
    348 
    349391    MTaskList *tlist = new MTaskList;
    350392    tlist->SetOwner();
     
    353395    tlist->AddToList(read);
    354396
    355     MParList *plist = new MParList();
     397    MParList *plist = new MParList;
    356398    plist->SetOwner();
    357399    plist->AddToList(tlist);
     
    361403    fEvtLoop->SetParList(plist);
    362404
    363     //
    364     // Add all GUI elements and update the event counter
    365     //
     405    AddMenuBar();
    366406    AddFrames(fname, tname);
    367407    UpdateEventCounter();
    368408}
    369409
    370 
    371410// --------------------------------------------------------------------------
    372411//
     
    375414MGEvtDisplay::~MGEvtDisplay()
    376415{
    377     delete fList;
    378 
    379416    fEvtLoop->PostProcess();
    380417    delete fEvtLoop;
     418
     419    delete fList;
    381420}
    382421
     
    404443    Int_t retval  = 0;
    405444
     445    //
    406446    //  first check if the new event is in the range of possible events
    407  
     447    //
    408448    if (iEvt >= GetReader()->GetEntries())
    409449    {
    410         new TGMsgBox(gClient->GetRoot(), this,
    411                      "WARNING!",
     450        new TGMsgBox(gClient->GetRoot(), this, "WARNING!",
    412451                     "The event number is out of range!!!",
    413452                     kMBIconExclamation, buttons, &retval);
     
    435474
    436475    fTxtEvtNr->SetText(txt);
     476}
     477
     478// --------------------------------------------------------------------------
     479//
     480//  Opens a save as dialog, and tries to store the canvas
     481//  in the given output format
     482//
     483void MGEvtDisplay::SaveAsDialog() const
     484{
     485    static const char *gSaveAsTypes[] =
     486    {
     487        "PostScript",   "*.ps",
     488        "Encapsulated PostScript", "*.eps",
     489        "Gif files",    "*.gif",
     490        "Macro files",  "*.C",
     491        "ROOT files",   "*.root",
     492        "All files",    "*",
     493        NULL,           NULL
     494    };
     495
     496    static TString dir(".");
     497
     498    TGFileInfo fi;
     499
     500    fi.fFileTypes = gSaveAsTypes;
     501    fi.fIniDir    = StrDup(dir);
     502
     503    new TGFileDialog(fClient->GetRoot(), this, kFDSave, &fi);
     504
     505    if (!fi.fFilename)
     506        return;
     507
     508    dir = fi.fIniDir;
     509
     510    if (strstr(fi.fFilename, ".root") ||
     511        strstr(fi.fFilename, ".ps")   ||
     512        strstr(fi.fFilename, ".eps")  ||
     513        strstr(fi.fFilename, ".gif"))
     514    {
     515        fCanvas->SaveAs(fi.fFilename);
     516        return;
     517    }
     518    if (strstr(fi.fFilename, ".C"))
     519    {
     520        fCanvas->SaveSource(fi.fFilename);
     521        return;
     522    }
     523    Warning("SaveAsDialog", "Unknown Extension: %s", fi.fFilename);
    437524}
    438525
     
    456543            switch (parm1)
    457544            {
    458             case M_PREVEVT:
     545            case kEvtPrev:
    459546                //
    460547                // '-2' is because MReadTree::Process increases the
     
    465552                return kTRUE;
    466553
    467             case M_NEXTEVT:
     554            case kEvtNext:
    468555                //
    469556                // '+0' is because MReadTree::Process increases the
     
    474561                return kTRUE;
    475562
    476             case M_CLOSE:
     563            case kClose:
     564                CloseWindow();
     565                return kTRUE;
     566            }
     567            return kTRUE;
     568
     569        case kCM_MENU:
     570            switch (parm1)
     571            {
     572            case kFileSaveAs:
     573                SaveAsDialog();
     574                return kTRUE;
     575            case kFileSaveAsRoot:
     576                fCanvas->SaveAs("display.root");
     577                return kTRUE;
     578            case kFileSaveAsC:
     579                fCanvas->SaveSource("display.C");
     580                return kTRUE;
     581            case kFileSaveAsPS:
     582                fCanvas->SaveAs("display.ps");
     583                return kTRUE;
     584            case kFileSaveAsEPS:
     585                fCanvas->SaveAs("display.eps");
     586                return kTRUE;
     587            case kFileSaveAsGIF:
     588                fCanvas->SaveAs("display.gif");
     589                return kTRUE;
     590            case kFilePrint:
     591                fCanvas->Print();
     592                return kTRUE;
     593            case kClose:
    477594                CloseWindow();
    478595                return kTRUE;
  • trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h

    r1015 r1023  
    2929    TGTextEntry *fTxtEvtNr;
    3030
     31    void AddMenuBar();
    3132    void AddTopFramePart1(TGVerticalFrame *frame,
    3233                          const char *filename,
     
    3738
    3839    void AddFrames(const char *filename, const char *treename);
     40
     41    void SaveAsDialog() const;
    3942
    4043    void ReadinEvent(UInt_t iEvt);
  • trunk/MagicSoft/Mars/mgui/MCamDisplay.cc

    r1018 r1023  
    22
    33#include <math.h>
     4#include <fstream.h>
    45
    56#include <TClonesArray.h>
     
    308309    }
    309310}
     311
     312// ------------------------------------------------------------------------
     313//
     314// Save primitive as a C++ statement(s) on output stream out
     315//
     316void MCamDisplay::SavePrimitive(ofstream &out, Option_t *opt)
     317{
     318    if (!gROOT->ClassSaved(TCanvas::Class()))
     319        fDrawingPad->SavePrimitive(out, opt);
     320
     321    out << "   " << fDrawingPad->GetName() << "->SetWindowSize(";
     322    out << fDrawingPad->GetWw() << "," << fDrawingPad->GetWh() << ");" << endl;
     323}
  • trunk/MagicSoft/Mars/mgui/MCamDisplay.h

    r1015 r1023  
    5757    void Reset();
    5858    void Draw(Option_t *option="");
     59    void SavePrimitive(ofstream &out, Option_t *);
    5960
    6061    ClassDef(MCamDisplay, 0) // Displays the magic camera
  • trunk/MagicSoft/Mars/mgui/MHexagon.cc

    r1018 r1023  
    3030#include "MHexagon.h"
    3131
     32#include <fstream.h>
    3233#include <iostream.h>
    3334
     
    5152//
    5253MHexagon::MHexagon(Float_t x, Float_t y, Float_t d)
    53 : TAttFill(0, 1001), fX(x), fY(y), fD(d)
     54: TAttLine(1, 1, 1), TAttFill(0, 1001), fX(x), fY(y), fD(d)
    5455{
    5556}
     
    6061//
    6162MHexagon::MHexagon(MGeomPix &pix)
    62 : TAttFill(0, 1001)
     63: TAttLine(1, 1, 1), TAttFill(0, 1001)
    6364{
    6465    fX = pix.GetX();
     
    246247void MHexagon::Print(Option_t *) const
    247248{
    248     cout << GetName() << ": x=" << fX << "mm y=" << fY << "mm r=" << fD << "mm" << endl;
    249 
    250     cout << " Color="     << GetLineColor() << ",";
    251     cout << " Style="     << GetLineStyle() << ",";
    252     cout << " Width="     << GetLineWidth() << ",";
    253     cout << " FillColor=" << GetFillColor() << endl;
    254 }
     249    cout << "MHexagon - " << GetName() << ": ";
     250    cout << "x=" << fX << "mm y=" << fY << "mm r=" << fD << "mm" << endl;
     251
     252    cout << " Line:";
     253    cout << " Color=" << GetLineColor() << ",";
     254    cout << " Style=" << GetLineStyle() << ",";
     255    cout << " Width=" << GetLineWidth() << endl;
     256    cout << " Fill:";
     257    cout << " Color=" << GetFillColor() << ",";
     258    cout << " Style=" << GetFillStyle() << endl;
     259}
     260
     261// ------------------------------------------------------------------------
     262//
     263// Save primitive as a C++ statement(s) on output stream out
     264//
     265void MHexagon::SavePrimitive(ofstream &out, Option_t *)
     266{
     267
     268    if (gROOT->ClassSaved(MHexagon::Class()))
     269       out << "   ";
     270    else
     271       out << "   MHexagon *";
     272
     273    out << "hexagon = new MHexagon(" << fX << "," << fY << "," << fD << ");" << endl;
     274
     275    SaveFillAttributes(out, "hexagon");
     276    SaveLineAttributes(out, "hexagon");
     277
     278    out << "   hexagon->Draw();" << endl;
     279}
  • trunk/MagicSoft/Mars/mgui/MHexagon.h

    r1018 r1023  
    4444    virtual ~MHexagon();
    4545
    46     void Copy (TObject &hexagon);
     46    virtual void  Copy(TObject &hexagon);
    4747
    4848    virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
    49     virtual void  DrawHexagon( Float_t x, Float_t y, Float_t d);
     49    virtual void  DrawHexagon(Float_t x, Float_t y, Float_t d);
    5050
    5151    //virtual void  ExecuteEvent(Int_t event, Int_t px, Int_t py);
     
    5555    virtual void  PaintHexagon(Float_t x, Float_t y, Float_t d);
    5656    virtual void  Print(Option_t *Option="") const; // *MENU*
     57    virtual void  SavePrimitive(ofstream &out, Option_t *);
    5758
    5859    ClassDef(MHexagon, 0)    // A hexagon for MAGIC
  • trunk/MagicSoft/Mars/mhist/MHHillas.cc

    r1004 r1023  
    3636    // connect all the histogram with the container fHist
    3737    //
    38     fAlpha  = new TH1F("Alpha [deg]", "Alpha of Hillas",   90, 0,  90);
     38    fAlpha  = new TH1F("Alpha [°]", "Alpha of Hillas",   90, 0,  90);
    3939    fWidth  = new TH1F("Width [mm]",  "Width of Hillas",  100, 0, 300);
    4040    fLength = new TH1F("Length [mm]", "Length of Hillas", 100, 0, 300);
     
    4646    fWidth->SetDirectory(NULL);
    4747
    48     fAlpha->GetXaxis()->SetTitle("Alpha [deg]");
     48    fAlpha->GetXaxis()->SetTitle("Alpha [°]");
    4949    fLength->GetXaxis()->SetTitle("Length [mm]");
    5050    fDist->GetXaxis()->SetTitle("Dist [mm]");
  • trunk/MagicSoft/Mars/mmain/MDataCheck.cc

    r959 r1023  
    2828#include <TGButton.h>  // TGTextButton
    2929
    30 // ---
    31 
    3230#include "MParList.h"
    3331#include "MTaskList.h"
     
    4240
    4341enum {
    44   M_BUTTON_PEDADC,
    45   M_BUTTON_CRADC,
    46   M_BUTTON_PEDTDC,
    47   M_BUTTON_CRTDC
     42    kButPedAdc,
     43    kButEvtAdc,
     44    kButPedTdc,
     45    kButEvtTdc
    4846};
    4947
     
    5856: MBrowser(main, p, w, h)
    5957{
    60     TGTextButton *pedadc = new TGTextButton(fTop2, "ADC Spectra of Pedestals", M_BUTTON_PEDADC);
    61     TGTextButton *cradc  = new TGTextButton(fTop2, "ADC Specta of Cosmics",    M_BUTTON_CRADC);
    62     TGTextButton *pedtdc = new TGTextButton(fTop3, "TDC Spectra of Pedestals", M_BUTTON_PEDTDC);
    63     TGTextButton *crtdc  = new TGTextButton(fTop3, "TDC Specta of Cosmics",    M_BUTTON_CRTDC);
     58    TGTextButton *pedadc = new TGTextButton(fTop2, "ADC Spectra of Pedestals", kButPedAdc);
     59    TGTextButton *cradc  = new TGTextButton(fTop2, "ADC Specta of Cosmics",    kButEvtAdc);
     60    TGTextButton *pedtdc = new TGTextButton(fTop3, "TDC Spectra of Pedestals", kButPedTdc);
     61    TGTextButton *crtdc  = new TGTextButton(fTop3, "TDC Specta of Cosmics",    kButEvtTdc);
    6462
    6563    pedadc->Associate(this);
     
    129127    magic.SetParList(&plist);
    130128
     129    // ADD ProgressBar, TGHProgressBar::ShowStatus();
     130
    131131    //
    132132    // start the loop running
     
    151151    switch (parm1)
    152152    {
    153     case M_BUTTON_PEDADC:
    154     case M_BUTTON_CRADC:
    155     case M_BUTTON_PEDTDC:
    156     case M_BUTTON_CRTDC:
     153    case kButPedAdc:
     154    case kButEvtAdc:
     155    case kButPedTdc:
     156    case kButEvtTdc:
    157157        if (!InputFileSelected())
    158158        {
     
    163163        switch (parm1)
    164164        {
    165         case M_BUTTON_PEDADC:
     165        case kButPedAdc:
    166166            ViewAdcSpectra(fInputFile, "PedEvents");
    167167            return kTRUE;
    168168
    169         case M_BUTTON_CRADC:
     169        case kButEvtAdc:
    170170            ViewAdcSpectra(fInputFile, "Events");
    171171            return kTRUE;
    172172
    173         case M_BUTTON_PEDTDC:
     173        case kButPedTdc:
    174174            // fOctober.PedTdcSpectra(fInputFile) ;
    175175            return kTRUE;
    176176
    177         case M_BUTTON_CRTDC:
     177        case kButEvtTdc:
    178178            return kTRUE;
    179179        }
Note: See TracChangeset for help on using the changeset viewer.