Changeset 8888 for trunk/MagicSoft


Ignore:
Timestamp:
05/14/08 12:03:25 (16 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r8886 r8888  
    1818
    1919                                                 -*-*- END OF LINE -*-*-
     20
     21 2008/05/14 Thomas Bretz
     22
     23   * mhbase/MH3.[h,cc], mhbase/MHn.[h,cc]:
     24     - enhanced to allow direct filling of Profile histograms
     25
     26   * mjobs/MDataSet.h:
     27     - fixed a bug in Print() causing an infinite loop
     28
     29   * mjtrain/MJTrainDisp.cc, mjtrain/MJTrainSeparation.cc:
     30     - write the dataset(s) to the output file
     31
     32   * mjtrain/MJTrainEnergy.cc
     33     - write the dataset to the output file
     34     - added new plots to show the resolution versus several different parameters
     35
     36   * mpedestal/MPedestalSubtract.[h,cc]:
     37     - added an additional check to compate the number of hi-/lo-gain slices
     38       in the run- and event-header
     39
     40   * mpointing/MPointingDevCalc.cc:
     41     - added the 14th Jan 08 to the list of new pointing models
     42
     43
    2044
    2145 2008/05/07 Stefan Ruegamer
     
    5074   * mreport/MReportDrive.cc:
    5175     - implemented changes of Version 20080220
     76
     77
     78
     79 2008/03/19 Thomas Bretz
     80
     81   * mjobs/MJSpectrum.cc:
     82     - fixed a bug introduced yesterday. The overflow bin was not
     83       correctly referenced
    5284
    5385
  • trunk/MagicSoft/Mars/mhbase/MH3.cc

    r8709 r8888  
    124124// Default constructor.
    125125//
    126 MH3::MH3(const unsigned int dim)
    127     : fDimension(dim>3?3:dim), fHist(NULL), fStyleBits(0)
    128 
     126MH3::MH3(const Int_t dim, Type_t type)
     127    : fDimension(dim), fHist(NULL), fStyleBits(0)
     128{
     129    switch (type)
     130    {
     131    case kHistogram:
     132        if (fDimension>3)
     133            fDimension=3;
     134        break;
     135    case kProfile:
     136        fDimension = -TMath::Abs(fDimension);
     137        if (fDimension<-2)
     138            fDimension = -2;
     139        break;
     140    }
     141
    129142    switch (fDimension)
    130143    {
     
    132145        fHist = new TH1D;
    133146        fHist->SetYTitle("Counts");
     147        break;
     148    case -1:
     149        fHist = new TProfile;
     150        fHist->SetYTitle("Average");
    134151        break;
    135152    case 2:
     
    137154        fHist->SetZTitle("Counts");
    138155        break;
     156    case -2:
     157        fHist = new TProfile2D;
     158        fHist->SetZTitle("Average");
     159        break;
    139160    case 3:
    140161        fHist = new TH3D;
     
    194215}
    195216
     217// --------------------------------------------------------------------------
     218//
     219// Adapt a given histogram
     220//
    196221MH3::MH3(const TH1 &h1)
    197222    : fDimension(1), fStyleBits(0)
     
    237262// description above.
    238263//
    239 MH3::MH3(const char *memberx, const char *membery)
    240     : fDimension(2), fStyleBits(0)
    241 {
    242     fHist = new TH2D;
     264MH3::MH3(const char *memberx, const char *membery, Type_t type)
     265    : fDimension(type==kHistogram?2:-1), fStyleBits(0)
     266{
     267    fHist = type==kHistogram ? static_cast<TH1*>(new TH2D) : static_cast<TH1*>(new TProfile); //new TH2D;
    243268
    244269    fData[0] = new MDataPhrase(memberx);
     
    255280    fHist->UseCurrentStyle();
    256281    fHist->SetDirectory(NULL);
    257     fHist->SetZTitle("Counts");
     282    fHist->SetZTitle(fDimension>0?"Counts":"Average");
    258283
    259284    fScale[0] = 1;
     
    268293// description see the class description above.
    269294//
    270 MH3::MH3(const char *memberx, const char *membery, const char *memberz)
    271     : fDimension(3), fStyleBits(0)
    272 {
    273     fHist = new TH3D;
     295MH3::MH3(const char *memberx, const char *membery, const char *memberz, Type_t type)
     296    : fDimension(type==kHistogram?3:-2), fStyleBits(0)
     297{
     298    fHist = type==kHistogram ? static_cast<TH1*>(new TH3D) : static_cast<TH1*>(new TProfile2D); //new TH2D;
    274299
    275300    fData[0] = new MDataPhrase(memberx);
     
    357382    MBinning *binsz = NULL;
    358383
    359     switch (fDimension)
     384    switch (TMath::Abs(fDimension))
    360385    {
    361386    case 3:
     
    366391            return kFALSE;
    367392        }
    368         if (fData[2] && !fData[2]->PreProcess(plist))
    369             return kFALSE;
    370393        if (fData[2])
    371394            fHist->SetZTitle(fData[2]->GetTitle());
     
    381404            return kFALSE;
    382405        }
    383         if (fData[1] && !fData[1]->PreProcess(plist))
    384             return kFALSE;
    385406        if (fData[1])
    386407            fHist->SetYTitle(fData[1]->GetTitle());
     
    402423            }
    403424        }
    404         if (fData[0] && !fData[0]->PreProcess(plist))
    405             return kFALSE;
    406425        if (fData[0]!=NULL)
    407426            fHist->SetXTitle(fData[0]->GetTitle());
     
    412431    }
    413432
    414     TString title("Histogram for ");
     433    // PreProcess existing fData members
     434    for (int i=0; i<3; i++)
     435        if (fData[i] && !fData[i]->PreProcess(plist))
     436            return kFALSE;
     437
     438    TString title(fDimension>0?"Histogram":"Profile");
     439    title += " for ";
    415440    title += name;
    416     title += Form(" (%dD)", fDimension);
     441    title += Form(" (%dD)", TMath::Abs(fDimension));
    417442
    418443    fHist->SetName(name);
     
    420445    fHist->SetDirectory(0);
    421446
    422     switch (fDimension)
     447    switch (TMath::Abs(fDimension))
    423448    {
    424449    case 1:
     
    433458    }
    434459
    435     *fLog << err << "ERROR - MH3 has " << fDimension << " dimensions!" << endl;
     460    *fLog << err << "ERROR - MH3 has " << TMath::Abs(fDimension) << " dimensions!" << endl;
    436461    return kFALSE;
    437462}
     
    487512    switch (fDimension)
    488513    {
    489     case 3:
     514    case -2:
     515    case  3:
    490516        z = fData[2]->GetValue()*fScale[2];
    491     case 2:
     517    case -1:
     518    case  2:
    492519        y = fData[1]->GetValue()*fScale[1];
    493     case 1:
     520    case  1:
    494521        x = fData[0]->GetValue()*fScale[0];
    495522    }
     
    497524    switch (fDimension)
    498525    {
    499     case 3:
    500         ((TH3*)fHist)->Fill(x, y, z, w);
     526    case  3:
     527        static_cast<TH3*>(fHist)->Fill(x, y, z, w);
    501528        return kTRUE;
    502     case 2:
    503         ((TH2*)fHist)->Fill(x, y, w);
     529    case  2:
     530        static_cast<TH2*>(fHist)->Fill(x, y, w);
    504531        return kTRUE;
    505532    case 1:
    506533        fHist->Fill(x, w);
    507534        return kTRUE;
     535    case -1:
     536        static_cast<TProfile*>(fHist)->Fill(x, y, w);
     537        return kTRUE;
     538    case -2:
     539        static_cast<TProfile2D*>(fHist)->Fill(x, y, z, w);
     540        return kTRUE;
    508541    }
    509542
     
    549582    TProfile *p=0;
    550583
    551     if (fDimension==2)
     584    if (TMath::Abs(fDimension)==2)
    552585        MH::SetPalette("pretty");
    553586
     
    629662    str.ToLower();
    630663
    631     const Bool_t only  = str.Contains("only")  && fDimension==2;
    632     const Bool_t same  = str.Contains("same")  && fDimension<3;
    633     const Bool_t blue  = str.Contains("blue")  && fDimension==2;
    634     const Bool_t profx = str.Contains("profx") && fDimension==2;
    635     const Bool_t profy = str.Contains("profy") && fDimension==2;
     664    const Bool_t only  = str.Contains("only")  && TMath::Abs(fDimension)==2;
     665    const Bool_t same  = str.Contains("same")  && TMath::Abs(fDimension)<3;
     666    const Bool_t blue  = str.Contains("blue")  && TMath::Abs(fDimension)==2;
     667    const Bool_t profx = str.Contains("profx") && TMath::Abs(fDimension)==2;
     668    const Bool_t profy = str.Contains("profy") && TMath::Abs(fDimension)==2;
    636669
    637670    str.ReplaceAll("only",  "");
     
    641674    str.ReplaceAll(" ", "");
    642675
    643     if (same && fDimension==1)
     676    if (same && TMath::Abs(fDimension)==1)
    644677    {
    645678        fHist->SetLineColor(kBlue);
     
    702735    out << "   MH3 " << name << "(\"";
    703736    out << fData[0]->GetRule() << "\"";
    704     if (fDimension>1)
     737    if (fDimension>1 || fDimension<0)
    705738        out << ", \"" << fData[1]->GetRule() << "\"";
    706     if (fDimension>2)
     739    if (fDimension>2 || fDimension<-1)
    707740        out << ", \"" << fData[2]->GetRule() << "\"";
    708741
     
    717750    switch (fDimension)
    718751    {
     752    case -2:
    719753    case 3:
    720754        if (fScale[2]!=1)
    721755            out << "   " << name << ".SetScaleZ(" << fScale[2] << ");" << endl;
     756    case -1:
    722757    case 2:
    723758        if (fScale[1]!=1)
     
    749784            h=new MH3(fData[0]->GetRule(), fData[1]->GetRule());
    750785            break;
     786        case -1:
     787            h=new MH3(fData[0]->GetRule(), fData[1]->GetRule(), MH3::kProfile);
     788            break;
    751789        case 3:
    752790            h=new MH3(fData[0]->GetRule(), fData[1]->GetRule(), fData[2]->GetRule());
    753791            break;
     792        case -2:
     793            h=new MH3(fData[0]->GetRule(), fData[1]->GetRule(), fData[2]->GetRule(), MH3::kProfile);
     794            break;
    754795        }
    755796    switch (fDimension)
    756797    {
     798    case -2:
    757799    case 3:
    758800        h->SetScaleZ(fScale[2]);
    759801    case 2:
     802    case -1:
    760803        h->SetScaleY(fScale[1]);
    761804    case 1:
     
    789832    Int_t num = 1;
    790833
    791     switch (fDimension)
     834    switch (TMath::Abs(fDimension))
    792835    {
    793836    case 3:
     
    820863    {
    821864    case 3:
     865    case -2:
    822866        binz = axez.FindFixBin(z);
    823867        if (binz>axez.GetLast() || binz<axez.GetFirst())
    824868            return -1;
    825869    case 2:
     870    case -1:
    826871        biny = axey.FindFixBin(y);
    827872        if (biny>axey.GetLast() || biny<axey.GetFirst())
  • trunk/MagicSoft/Mars/mhbase/MH3.h

    r8709 r8888  
    2828    Byte_t      fStyleBits;      // Set the range of a histogram automatically in Finalize
    2929
     30//    TH1        *fHistDraw;       //!
     31
    3032    void HandleLogAxis(TAxis &axe) const;
    3133
     
    3941
    4042public:
    41     MH3(const unsigned int dim=0);
     43    enum Type_t {
     44        kHistogram,
     45        kProfile
     46    };
     47
     48    MH3(const Int_t dim=0, Type_t type=MH3::kHistogram);
    4249    MH3(const TH1 &h1);
    4350    MH3(const char *memberx);
    44     MH3(const char *memberx, const char *membery);
    45     MH3(const char *memberx, const char *membery, const char *memberz);
     51    MH3(const char *memberx, const char *membery, Type_t type=MH3::kHistogram);
     52    MH3(const char *memberx, const char *membery, const char *memberz, Type_t type=MH3::kHistogram);
    4653    ~MH3();
    4754
     
    7077
    7178    // Getter
    72     Int_t GetDimension() const { return fDimension; }
     79    Int_t GetDimension() const { return TMath::Abs(fDimension); }
    7380    Int_t GetNbins() const;
    7481    Int_t FindFixBin(Double_t x, Double_t y=0, Double_t z=0) const;
  • trunk/MagicSoft/Mars/mhbase/MHn.cc

    r8719 r8888  
    213213//  e.g. AddHist("MHillas.fLength", "MHillas.fSize")
    214214//
    215 Bool_t MHn::AddHist(const char *memberx, const char *membery)
     215Bool_t MHn::AddHist(const char *memberx, const char *membery, MH3::Type_t type)
    216216{
    217217    if (fNum==8)
     
    221221    }
    222222
    223     fHist[fNum] = new MH3(memberx, membery);
     223    fHist[fNum] = new MH3(memberx, membery, type);
    224224
    225225    InitHist();
     
    236236//  e.g. AddHist("MHillas.fWidth", "MHillas.fLength", "MHillas.fSize")
    237237//
    238 Bool_t MHn::AddHist(const char *memberx, const char *membery, const char *memberz)
     238Bool_t MHn::AddHist(const char *memberx, const char *membery, const char *memberz, MH3::Type_t type)
    239239{
    240240    if (fNum==8)
     
    244244    }
    245245
    246     fHist[fNum] = new MH3(memberx, membery, memberz);
     246    fHist[fNum] = new MH3(memberx, membery, memberz, type);
    247247
    248248    InitHist();
  • trunk/MagicSoft/Mars/mhbase/MHn.h

    r8700 r8888  
    22#define MARS_MHn
    33
    4 #ifndef ROOT_TH1
    5 #include <TH1.h>
     4#ifndef MARS_MH3
     5#include "MH3.h"
    66#endif
    7 #ifndef MARS_MH
    8 #include "MH.h"
    9 #endif
    10 
    11 class MH3;
    127
    138class MHn : public MH
     
    3934
    4035    Bool_t AddHist(const char *memberx);
    41     Bool_t AddHist(const char *memberx, const char *membery);
    42     Bool_t AddHist(const char *memberx, const char *membery, const char *memberz);
     36    Bool_t AddHist(const char *memberx, const char *membery, MH3::Type_t type=MH3::kHistogram);
     37    Bool_t AddHist(const char *memberx, const char *membery, const char *memberz, MH3::Type_t type=MH3::kHistogram);
    4338
    4439    void InitName(const char *n)
  • trunk/MagicSoft/Mars/mjobs/MDataSet.h

    r8780 r8888  
    168168    // TObject
    169169    void Print(Option_t *o) const;
    170     void Print() const { Print(); } //*MENU*
     170    void Print() const { Print(""); } //*MENU*
    171171
    172172    ClassDef(MDataSet, 2)
  • trunk/MagicSoft/Mars/mjtrain/MJTrainDisp.cc

    r8719 r8888  
    493493    DisplayResult(hdisp1, hdisp2);
    494494
     495    TObjArray arr;
     496    arr.Add(const_cast<MDataSet*>(&set));
     497    if (fDisplay)
     498        arr.Add(fDisplay);
     499
    495500    SetPathOut(out);
    496     return WriteDisplay(0, "UPDATE");
     501    return WriteContainer(arr, 0, "UPDATE");
    497502}
    498503
  • trunk/MagicSoft/Mars/mjtrain/MJTrainEnergy.cc

    r8719 r8888  
    191191
    192192    // -------------------------------------------------------------
    193     MBinning binsS(50, 10,     100000, "BinningSize",           "log");
    194     MBinning binsE(70, 10,     31623,  "BinningEnergy",         "log");
    195     MBinning binsG(50,-10,     10,     "BinningSlope",          "lin");
    196     MBinning binsR(50, -1,     1,      "BinningEnergyResidual", "lin");
    197     MBinning binsL(50,  0,     0.3,    "BinningLeakage",        "lin");
    198     MBinning binsT(51, -0.005, 0.505,  "BinningTheta",          "asin");
    199     MBinning binsD(50,  0,     1.6,    "BinningDist",           "lin");
    200     MBinning binsC(50,  1e-2,  1,      "BinningConc",           "log");
     193    MBinning binsS(50,  10,     100000, "BinningSize",             "log");
     194    MBinning binsE(70,  10,     31623,  "BinningEnergy",           "log");
     195    MBinning binsF(35,  10,     31623,  "BinningEnergyEst",        "log");
     196    MBinning binsG(50, -10,     10,     "BinningSlope",            "lin");
     197    MBinning binsR(50,  -1,     1,      "BinningEnergyResidual",   "lin");
     198    MBinning binsL(50,   0,     0.3,    "BinningLeakage",          "lin");
     199    MBinning binsT(51,  -0.005, 0.505,  "BinningTheta",            "asin");
     200    MBinning binsD(50,   0,     1.6,    "BinningDist",             "lin");
     201    MBinning binsC(50,   1e-2,  1,      "BinningConc",             "log");
     202    MBinning binsI(16,   0,     800,    "BinningImpact",           "lin");
    201203
    202204    plist.AddToList(&binsG);
     
    204206    plist.AddToList(&binsR);
    205207    plist.AddToList(&binsE);
     208    plist.AddToList(&binsF);
    206209    plist.AddToList(&binsL);
    207210    plist.AddToList(&binsT);
    208211    plist.AddToList(&binsD);
    209212    plist.AddToList(&binsC);
     213    plist.AddToList(&binsI);
    210214
    211215    MHEnergyEst hist;
     
    252256    hres2.SetDrawOption("colz profx");
    253257
    254     MFillH fillh(&hist);
     258    MHn hres3("Resolution", "Energy Resolution");
     259    hres3.AddHist("MEnergyEst.fVal", "(MMcEvt.fEnergy/MEnergyEst.fVal-1)^2", MH3::kProfile);
     260    hres3.InitName("ResEest;EnergyEst;");
     261    hres3.InitTitle(";E_{est} [GeV];Resolution (E_{mc}/E_{est}-1)^{2};");
     262
     263    hres3.AddHist("MHillas.fSize", "(MMcEvt.fEnergy/MEnergyEst.fVal-1)^2", MH3::kProfile);
     264    hres3.InitName("ResSize;Size;");
     265    hres3.InitTitle(";S [phe];Resolution (E_{mc}/E_{est}-1)^{2};");
     266/*
     267    hres3.AddHist("MMcEvt.fEnergy", "(MEnergyEst.fVal/MMcEvt.fEnergy-1)^2", MH3::kProfile);
     268    hres3.InitName("ResEmc;EnergyEst;");
     269    hres3.InitTitle(";E_{mc} [GeV];Resolution (E_{est}/E_{mc}-1)^{2};");
     270  */
     271    hres3.AddHist("MPointingPos.fZd", "(MMcEvt.fEnergy/MEnergyEst.fVal-1)^2", MH3::kProfile);
     272    hres3.InitName("ResTheta;Theta;");
     273    hres3.InitTitle(";\\Theta [\\circ];Resolution (E_{mc}/E_{est}-1)^{2};");
     274    hres3.AddHist("MMcEvt.fImpact/100", "(MMcEvt.fEnergy/MEnergyEst.fVal-1)^2", MH3::kProfile);
     275    hres3.InitName("ResImpact;Impact;");
     276    hres3.InitTitle(";I [m];Resolution (E_{mc}/E_{est}-1)^{2};");
     277
     278    MFillH fillh0(&hist);
    255279    MFillH fillh1(&hres1, "", "FillResiduals1");
    256280    MFillH fillh2(&hres2, "", "FillResiduals2");
     281    MFillH fillh3(&hres3, "", "FillResolution");
    257282
    258283    if (fEnableWeights)
    259284    {
    260         fillh.SetWeight();
     285        fillh0.SetWeight();
    261286        fillh1.SetWeight();
    262287        fillh2.SetWeight();
     288        fillh3.SetWeight();
    263289    }
    264290
     
    268294    tlist.AddToList(&rf);
    269295    tlist.AddToList(fPostTasks);
    270     tlist.AddToList(&fillh);
     296    tlist.AddToList(&fillh0);
    271297    tlist.AddToList(&fillh1);
    272298    tlist.AddToList(&fillh2);
     299    tlist.AddToList(&fillh3);
    273300    tlist.AddToList(fTestTasks);
    274301
     
    283310        return kFALSE;
    284311
     312    TObjArray arr;
     313    arr.Add(const_cast<MDataSet*>(&set));
     314    if (fDisplay)
     315        arr.Add(fDisplay);
     316
    285317    SetPathOut(out);
    286     if (!WriteDisplay(0, "UPDATE"))
    287         return kFALSE;
    288 
    289     return kTRUE;
     318    return WriteContainer(arr, 0, "UPDATE");
    290319}
  • trunk/MagicSoft/Mars/mjtrain/MJTrainSeparation.cc

    r8646 r8888  
    10471047
    10481048    // Write the display
     1049    TObjArray arr;
     1050    arr.Add(const_cast<MDataSet*>(&fDataSetTrain));
     1051    arr.Add(const_cast<MDataSet*>(&fDataSetTest));
     1052    if (fDisplay)
     1053        arr.Add(fDisplay);
     1054
    10491055    SetPathOut(out);
    1050     if (!WriteDisplay(0, "UPDATE"))
    1051         return kFALSE;
    1052 
    1053     return kTRUE;
     1056    return WriteContainer(arr, 0, "UPDATE");
    10541057}
    10551058
  • trunk/MagicSoft/Mars/mpedestal/MPedestalSubtract.cc

    r8795 r8888  
    11/* ======================================================================== *\
    2 ! $Name: not supported by cvs2svn $:$Id: MPedestalSubtract.cc,v 1.9 2007-12-19 18:53:03 tbretz Exp $
     2! $Name: not supported by cvs2svn $:$Id: MPedestalSubtract.cc,v 1.10 2008-05-14 11:03:24 tbretz Exp $
    33! --------------------------------------------------------------------------
    44!
     
    2020!   Author(s): Thomas Bretz, 10/2006 <mailto:tbretz@astro.uni-wuerzburg.de>
    2121!
    22 !   Copyright: MAGIC Software Development, 2000-2006
     22!   Copyright: MAGIC Software Development, 2000-2008
    2323!
    2424!
     
    5151#include "MArrayB.h"
    5252
     53#include "MRawRunHeader.h"
    5354#include "MRawEvtData.h"
    5455#include "MRawEvtPixelIter.h"
     
    141142}
    142143
     144Bool_t MPedestalSubtract::ReInit(MParList *pList)
     145{
     146    fRunHeader = (MRawRunHeader*)pList->FindObject(AddSerialNumber("MRawRunHeader"));
     147    if (!fRunHeader)
     148    {
     149        *fLog << err << AddSerialNumber("MRawRunHeader") << " not found... aborting." << endl;
     150        return kFALSE;
     151    }
     152    return kTRUE;
     153}
     154
    143155// --------------------------------------------------------------------------
    144156//
     
    150162    const Int_t numl = fRawEvt->GetNumLoGainSamples();
    151163
     164    // Check if event is empty (presumably MC event -- sanity check)
     165    if (numh+numl==0)
     166        return kCONTINUE;
     167
     168    // Check for consistency (our simulation can do weird things!)
     169    if (numh!=fRunHeader->GetNumSamplesHiGain())
     170    {
     171        *fLog << warn << "WARNING - Number of hi-gain samples (" << numh << ") ";
     172        *fLog << " doesn't match run-header (" << fRunHeader->GetNumSamplesHiGain() << ")." << endl;
     173    }
     174    if (numl!=fRunHeader->GetNumSamplesLoGain())
     175    {
     176        *fLog << warn << "WARNING - Number of lo-gain samples (" << numl << ") ";
     177        *fLog << " doesn't match run-header (" << fRunHeader->GetNumSamplesLoGain() << ")." << endl;
     178    }
     179
     180    // Get scale between FADC units and 256 ;-)
    152181    const UInt_t scale = fRawEvt->GetScale();
    153182
  • trunk/MagicSoft/Mars/mpedestal/MPedestalSubtract.h

    r8633 r8888  
    66#endif
    77
     8class MRawRunHeader;
    89class MRawEvtData;
    910class MPedestalCam;
     
    1617    static const TString fgNamePedestalSubtractedEvt;  //! "MPedestalSubtractedEvt"
    1718
     19    MRawRunHeader          *fRunHeader;      //! Run Header
    1820    MRawEvtData            *fRawEvt;         //! Input Raw data
    1921    MPedestalCam           *fPedestals;      //! Pedestals of all pixels in the camera
     
    2426
    2527    Int_t  PreProcess(MParList *pList);
     28    Bool_t ReInit(MParList *pList);
    2629    Int_t  Process();
    2730
  • trunk/MagicSoft/Mars/mpointing/MPointingDevCalc.cc

    r8882 r8888  
    158158//   17. Jun. 2007   ~248193
    159159//   18. Oct. 2007   ~291039(?)
     160//   14. Jan. 2008
    160161//
    161162// From 2.2.2006 beginnig of the night (21:05h, run >=81855) to 24.2.2006
Note: See TracChangeset for help on using the changeset viewer.