Hi Roger,
To work around this issue, compile your script via ACLiC;
root [0] .L MyClass.C+ root [1] MyClass m root [2] m.Loop()
Cheers,
Philippe.
Roger Mason wrote:
> Hello,
>
> I need to find unique entries in an array. I am trying to do this
> using a vector:
>
> ...
> std::vector<Double_t> unique;
> std::vector<Double_t>::iterator Iter;
>
> Long64_t nbytes = 0, nb = 0;
>
> TH1D *henergy = new TH1D("energy","energy(eV)",100,0,0);
> TH1D *h = new TH1D("selected","energy(eV)",100,0,0);
> TCanvas *canv = new TCanvas("canv","Canvas");
>
> // Fill unique
> for (Long64_t jentry=0; jentry<nentries;jentry++) {
> Long64_t ientry = LoadTree(jentry);
> if (ientry < 0) break;
> nb = fChain->GetEntry(jentry); nbytes += nb;
> // if (Cut(ientry) < 0) continue;
> unique.push_back(energy);
> }
>
> // Sort the vector so identical values are adjacent
> cout << "Unique has " << unique.size() << " entries" << endl;
> cout << " First = " << unique[0] << " last = " << unique.back() <<
> endl;
>
> // unique.resize(2*unique.size());
> // cout << "Unique now has " << unique.size() << " entries" <<
> endl;
>
> std::sort( unique.begin(), unique.end() );
>
> ...
>
> Unfortunately sorting fails:
>
> root [0] .L MyClass.C
> root [1] MyClass m
> root [2] m.Loop()
> Unique has 1200 entries
> First = -2143.6 last = -2143.55
> Internal error: template function call __unguarded_partition failed
> algo.h:725:
>
> Thanks for any help,
> Roger
>
> ROOT 5.20/00 (trunk_at_24524, Sep 30 2008, 15:32:00 on linux)
>
>
Received on Fri Oct 31 2008 - 20:48:33 CET
This archive was generated by hypermail 2.2.0 : Fri Oct 31 2008 - 23:50:01 CET