Hi, A ROOT limit on the length of user commands makes it difficult
to execute complicated expressions, as the appended example shows.
Although my expression is longer than one wants to type, the
TreeViewer easily generates the same expression using only a few
of the "Expression" slots provided. And the TreeViewer-generated
Draw command is then rejected by CINT for the same "User command
too long". So I'm wondering how the TreeViewer can be useful for
any but the shortest Draw commands. Why does there have to be a length
limit for command strings? I'm using RH6.2 egcs1.1.2 with a recent
CVS development release. Thanks. George
*******************************************
* *
* W E L C O M E to R O O T *
* *
* Version 3.03/07 25 July 2002 *
* *
* You are welcome to visit our Web site *
* http://root.cern.ch *
* *
*******************************************
FreeType Engine v1.x used to render TrueType fonts.
Compiled for linux with thread support.
CINT/ROOT C/C++ Interpreter version 5.15.50, July 7 2002
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
Note: File "iostream.h" already loaded
Executing rootlogon.C
Loading user dynamic libraries.
root [0] TFile tf("tracksr.root");
root [1] tf.ls();
TFile** tracksr.root
TFile* tracksr.root
KEY: TTree stripnt;9 StripSR Tree
KEY: TTree stripnt;8 StripSR Tree
KEY: TTree planent;4 PlaneSR Tree
KEY: TTree planent;3 PlaneSR Tree
KEY: TTree tracknt;1 TrackSR Tree
root [2] TTree *tnt = tf.Get("tracknt");
root [3]
tnt->Draw("(uvzend[0]+uvzend[1])/sqrt(2.):(uvz[0]+uvz[1])/sqrt(2.)");
<TCanvas::MakeDefCanvas>: created default TCanvas with name c1
root [4]
tnt->Draw("(uvzend[0]+uvzend[1])/sqrt(2.):(uvz[0]+uvz[1])/sqrt(2.)","uvz[2]>0. && uvz[2]<14.7 && uvzend[2]>0. && uvzend[2]<14.7 && sqrt((uvz[0]+uvz[1])/sqrt(2.)*(uvz[0]+uvz[1])/sqrt(2.)+(uvz[0]-uvz[1])/sqrt(2.)*(uvz[0]-uvz[1])/sqrt(2.))<4. && sqrt((uvzend[0]+uvzend[1])/sqrt(2.)*(uvzend[0]+uvzend[1])/sqrt(2.)+(uvzend[0]-uvzend[1])/sqrt(2.)*(uvzend[0]-uvzend[1])/sqrt(2.))<4.","", 5104, 0);
!!! User command too long !!!
root [5] .q
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:01 MET