[ROOT] using root macros to extend a program

From: Caius Howcroft (howcroft@hep.phy.cam.ac.uk)
Date: Fri Apr 04 2003 - 20:08:07 MEST


Hi, I'm not quite clear what is possible with ROOT/CINT.

What I would like to do is have a running program that can load a script 
that has either
- a class definition that I can then new and call in my program.
- functions that I can call from the program.

but I would like to get the return values of the functions I call and 
allow the macro to call  functions in my compiled program. 

so

in the macro

int Configure(MyConfig* configmodule)
{
//call to compiled class 
MyCompiledClass::Instance()->GetValue()
return 1;
}

MyInfo GetInfo(){
  MyInfo tmp;
  tmp.SetValue1(2);
  return tmp;	
	
}

in the compiled program...

int main()
{
MyConfig*  config=new MyConfig;
gROOT->LoadMacro("mymacro.C")

int i = Config(config);
MyInfo info = GetInfo();

MyCompiledClass::Instance()->DoSomething();

}



Is this kind of thing possible? I know you can use ProcessLine, but I dont 
see how to pass parameters from the compiled code or get a return value.

Caius

________________________________________
-           CAIUS HOWCROFT             -
-  +44 (0)1223 764 128      UK(office) -
========================================



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET