Hi, I am the original "author of the macor", :)
In fact, stings have limited size!!
in C++, you can use string.max_size() to see what the number is. I want to
quote "The C++ Standard Library" by Nicolai M. Josuttis page 486 on the
top:
"A string typically constains all characters in a single block of
memory, so there might be relevant restrictions on PCs. Otherwise, this
value usually is the maximum value of the type of the index less one."
a block on a PC is what, a few killo?
In fact, TString has limited capacity!! This is reported before. ZhenWei
Chai in our group has encountered such limitation in Draw() a long time
ago. I would be suprised to know a TString has larger capacity that a C++
string. In fact I suspect the seg fault is generated by root in Draw()
instead of in standard C++ codes but I have never tested.
In fact, a charactor array otherwise known as a C-string limited
capacity!! At most, it is again " maximum value of the type of the index
less one."
In fact, we encountered this problem before in ntuple.C. The ntuple has
too many entries! it is already at the rim of capacity of TString. A few
lines there are commented. We may reach the point where we have to break
the ntuple into trees and branches. But TBLCut will have to be
synchronized with this change.
I welcome any suggestion to go arround these limits
Chi
On Sun, 27 Oct 2002, Adrian T Sindile wrote:
> Hi, Vitaly!
> Is it really the Draw() function, or is there some array dimension set by
> the author of the macro? It is hard to think the Draw() function craps out
> so easily... Just thinking loudly here.
>
> Adrian
>
> -------------------------------
> Adrian Sindile
> Research Assistant
> Nuclear Physics Group
> University of New Hampshire
> phone: (603)862-1691
> FAX: (603)862-2998
> email: asindile@alberti.unh.edu
> http://einstein.unh.edu/~adrian/
>
>
>
This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:28 EST