Reflex::Tools

Hello!
I am writing a file with a C++ class to use it in a TChain.Process(“class.c”, param) function. And I want to use there inside a function which splits my string param (actually I want to give several strings as parameters, but it seems only possible through one string…). I found that Reflex::Tools namespace contains such a StringSplit function.
The problem is that when I write
#include <Reflex/Kernel.h>
in a ROOT5.30/4 console I get
Error: class,struct,union or type Type_Cont_Type_t::const_iterator not defined /home/bor/bin/root/include/Reflex/Kernel.h:159:
*** Interpreter error recovered ***

Why can’t I include this module?
How can I call normal string operations from my class.c (having elementary functions like “+” is too little for me)?
How do I debug my class.c?
I hope I am in a correct section of the Forum. Thanks!

Hi,

Reflex is deprecated and will soon no longer be part of ROOT. Reflex headers are not designed to be included in CINT. Instead I recommend you use TString and its facility (which includes splitting strings).

Cheers,
Philippe.

Thanks pcanal:)
How do I call a strip function from TString class? ROOT autocompletion doesn’t show that this class has such a function… Is it in an additional module?

Could ANYONE please answer the question how one debugs a c+±program, which is called by a TChain.Process() function?

Hi,

In ROOT all method starts with an upper case later (i.e. Strip) Also see the Reference Guide: root.cern.ch/root/html/TString.html

[quote]Could ANYONE please answer the question how one debugs a c+±program, which is called by a TChain.Process() function?[/quote]Which question? Apriori you can use the normal way to debug TChain.Process either by using gdb or the CINT debugger.

Philippe.

sorry, I wrote that incorrect last time. I meant Split function (strip function works, but this is not what I needed).

ok. I am writing my application in PyDEV using PyROOT in Eclipse and I was wondering if I am able to step-debug my c-program, which is called by the TTree.Process() function in the same eclipse session…Any idea?:slight_smile:

Hi,

The TString ‘split’ function is named ‘Tokenize’: http://root.cern.ch/root/html/TString.html#TString:Tokenize

I am not familiar with Eclipse and how it interacts with hybrid python/C++ program but I assume there is a way to start in debug mode and to put a break point on your function and/or TTree::Process itself.

Cheers,
Philippe.