Ignore:
Timestamp:
09/14/04 17:00:14 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mhbase/MH.cc

    r5003 r5007  
    11811181    const Int_t size = array.GetSize();
    11821182
     1183    TH1I *h1=0;
     1184
     1185    //check if histogram with identical name exist
     1186    TObject *h1obj = gROOT->FindObject(name);
     1187    if (h1obj && h1obj->InheritsFrom("TH1I"))
     1188    {
     1189        h1 = (TH1I*)h1obj;
     1190        h1->Reset();
     1191    }
     1192
    11831193    Double_t min = size>0 ? array[0] : 0;
    11841194    Double_t max = size>0 ? array[0] : 1;
     
    11931203    Int_t newbins = 0;
    11941204    FindGoodLimits(nbins, newbins, min, max, kFALSE);
    1195    
    1196     TH1I *h1 = new TH1I(name, title, nbins, min, max);
    1197     h1->SetXTitle("");
    1198     h1->SetYTitle("Counts");
    1199     h1->SetDirectory(NULL);
     1205
     1206    if (!h1)
     1207    {
     1208        h1 = new TH1I(name, title, nbins, min, max);
     1209        h1->SetXTitle("");
     1210        h1->SetYTitle("Counts");
     1211        h1->SetDirectory(gROOT);
     1212    }
    12001213
    12011214    // Second loop to fill the histogram
     
    12171230    Double_t max = size>0 ? array[0] : 1;
    12181231
     1232    TH1I *h1=0;
     1233
     1234    //check if histogram with identical name exist
     1235    TObject *h1obj = gROOT->FindObject(name);
     1236    if (h1obj && h1obj->InheritsFrom("TH1I"))
     1237    {
     1238        h1 = (TH1I*)h1obj;
     1239        h1->Reset();
     1240    }
     1241
    12191242    // first loop over array to find the min and max
    12201243    for (Int_t i=1; i<size;i++)
     
    12271250    FindGoodLimits(nbins, newbins, min, max, kFALSE);
    12281251
    1229     TH1I *h1 = new TH1I(name, title, newbins, min, max);
    1230     h1->SetXTitle("");
    1231     h1->SetYTitle("Counts");
    1232     h1->SetDirectory(NULL);
    1233 
     1252    if (!h1)
     1253    {
     1254      h1 = new TH1I(name, title, newbins, min, max);
     1255      h1->SetXTitle("");
     1256      h1->SetYTitle("Counts");
     1257      h1->SetDirectory(gROOT);
     1258    }
     1259   
    12341260    // Second loop to fill the histogram
    12351261    for (Int_t i=0;i<size;i++)
     
    12461272                       const char* name, const char* title)
    12471273{
    1248     const TArrayF arr(array.GetSize(), array.GetArray());
    1249     return ProjectArray(arr, nbins, name, title);
     1274    return ProjectArray(TArrayF(array.GetSize(),array.GetArray()), nbins, name, title);
    12501275}
    12511276
     
    12561281TH1I* MH::ProjectArray(const MArrayD &array, Int_t nbins, const char* name, const char* title)
    12571282{
    1258     const TArrayD arr(array.GetSize(), array.GetArray());
    1259     return ProjectArray(arr, nbins, name, title);
     1283    return ProjectArray(TArrayD(array.GetSize(),array.GetArray()), nbins, name, title);
    12601284}
    12611285
Note: See TracChangeset for help on using the changeset viewer.