<div dir="ltr"><div class="gmail_extra">Tom&#39;s ideas are good, but I think there&#39;s one point that needs clarification (for someone... possibly me, possibly not):</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 6, 2015 at 4:51 PM, Thomas K Hemmick <span dir="ltr">&lt;<a href="mailto:hemmick@skipper.physics.sunysb.edu" target="_blank">hemmick@skipper.physics.sunysb.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>I)  Root streamers mean that with ZERO WORK, we can store/retrieve the detector definition objects to/from a file.</div>
<div></div></blockquote></div><br>It seems to me, unless I&#39;m mistaken, there&#39;s a few words missing from the end of this sentence, which are: &quot;in a C++ program linked against ROOT&quot;. It&#39;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&#39;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.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Or am I misunderstanding something?<br clear="all"><div><br></div>-- <br><div class="gmail_signature">- Richard S. Holmes<br>  Physics Department<br>  Syracuse University<br>  Syracuse, NY 13244<br>  315-443-5977<br></div>
</div></div>