[ROOT] Generic objects & streaming ptr-to-function

From: George A. Heintzelman (gah@bnl.gov)
Date: Tue Oct 31 2000 - 15:45:08 MET


Hi rooters,

I was thinking today about generic modules for plug-in to analysis 
chains, and I realized that many of these objects (cut or filter 
modules, in particular) might be made quite general if they were built 
on a pointer to a function to be called in a method inside the module, 
eg:

TModule::Process() {
  StartProcessing();
  for ( /* each track in a container */ ) {
	if ((*fPtrToCutFunction)(track)) {
	  /* Process */
        }
  }
}

But if we wanted to write these modules out, we would have to be able 
to stream somehow pointers-to-function. That's what prompted this 
question: Is there any machinery in ROOT for doing this? Are there any 
tools (perhaps in CINT?) that might enable this? (for example, given a 
ptr-to-compiled function, if that function is linked into CINT, can I 
look it up its name in the CINT dictionary? Then I could presumably 
stream out just the fully-qualified name of the function...) Anyway, 
perhaps someone else has put some thought into this. If so, feedback 
would be great. If there's currently nothing in ROOT, consider this a 
request for the ROOT team to put some effort into doing this.

Thanks,

George Heintzelman
gah@bnl.gov



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:36 MET