[Halla12_software] another point about geometry API.

Richard S. Holmes rsholmes at syr.edu
Mon Apr 6 22:56:15 EDT 2015


Tom's ideas are good, but I think there's one point that needs
clarification (for someone... possibly me, possibly not):

On Mon, Apr 6, 2015 at 4:51 PM, Thomas K Hemmick <
hemmick at skipper.physics.sunysb.edu> wrote:

> I)  Root streamers mean that with ZERO WORK, we can store/retrieve the
> detector definition objects to/from a file.
>

It seems to me, unless I'm mistaken, there's a few words missing from the
end of this sentence, which are: "in a C++ program linked against ROOT".
It's NOT a zero work problem to store/retrieve detector definition objects
to/from a file in a Perl script. This is what I alluded to earlier: If you
generate information in a Perl script (or Python, or ...), you then have to
do the work of getting that information out of the script and into the
simulation and digitization and reconstruction and analysis codes, whether
via local file or pipeline or a database. You can't do it with ROOT
streamers. And changes in the detector definitions would have to be handled
in (at least) two places: the script, and the class definition, which you
would have to take care to keep synchronized. Whereas if the definition is
implemented within a C++ class, and never needs to be understood by a
script, it can just be written and read with, as you say, zero work. If
that class is in a library then the simulation, digitization,
reconstruction, and analysis codes can link against it and if properly
implemented, changes to a definition would automatically and synchronously
be propagated to all parts of the software.

Or am I misunderstanding something?

-- 
- Richard S. Holmes
  Physics Department
  Syracuse University
  Syracuse, NY 13244
  315-443-5977
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.jlab.org/pipermail/halla12_software/attachments/20150406/95179fa9/attachment.html 


More information about the Halla12_software mailing list