<div dir="ltr">Thanks Ole, that explains A LOT of what people have not yet said.  Two questions:<div><br></div><div>A:  Without root, what would we use?  PAW...home grown...?  </div><div>B:  Without C++ what would we use?  FORTRAN...perl...python...?</div><div><br></div><div>As you might have guessed, I have operated under the presumption of a root/geant4 code base.  It seems to me that any other choice is more work for the core team than I care to think about in my worst nightmare!<br></div><div><br></div><div>1)  Does anyone among us believe that we have the capability to write our own root or geant4?</div><div>2)  Among those who believe item 1, do you think that we are wise to do this?</div><div><br></div><div>Perhaps this is first thing we should discuss.  My opinion is simple: root/geant4 should be the basis of SoLID software.  I&#39;m curious to hear if any of us has a different opinion on this.</div><div><br></div><div>All the best,</div><div>Tom</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 7, 2015 at 12:28 PM, Ole Hansen <span dir="ltr">&lt;<a href="mailto:ole@jlab.org" target="_blank">ole@jlab.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 04/06/2015 10:56 PM, Richard S. Holmes wrote:<br>
&gt; On Mon, Apr 6, 2015 at 4:51 PM, Thomas K Hemmick<br>
&gt; &lt;<a href="mailto:hemmick@skipper.physics.sunysb.edu">hemmick@skipper.physics.sunysb.edu</a><br>
</span><span class="">&gt; &lt;mailto:<a href="mailto:hemmick@skipper.physics.sunysb.edu">hemmick@skipper.physics.sunysb.edu</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     I)  Root streamers mean that with ZERO WORK, we can store/retrieve<br>
&gt;     the detector definition objects to/from a file.<br>
&gt;<br>
&gt;<br>
&gt; It seems to me, unless I&#39;m mistaken, there&#39;s a few words missing from<br>
&gt; the end of this sentence, which are: &quot;in a C++ program linked against<br>
&gt; ROOT&quot;.<br>
<br>
</span>Rich&#39;s point is similar to one I wanted to bring up: The idea of using<br>
ROOT streamers implies major design decisions that haven&#39;t been made<br>
yet: That (at least parts of) the framework will require C++ and ROOT,<br>
and that we wish to standardize on ROOT files.<br>
<br>
This point is significant because, among other things, neither the Hall<br>
B nor the Hall D framework are built on ROOT, and Hall B&#39;s framework (as<br>
well as much other JLab software) is not primarily written in C++. In<br>
other words, if we want to build on ROOT, we&#39;re effectively ruling out<br>
building on either of those frameworks. Similarly, neither framework<br>
relies primarily on the ROOT file format; for instance, Hall D&#39;s<br>
framework makes heavy use of XML and its own schema definitions.<br>
(ROOT/C++/streamers are being used in the Hall A analyzer, however.)<br>
This just for reference.<br>
<br>
I still thinking about the wisdom of using streamers in general for<br>
things like geometry parameters. There are pros and cons. More on that<br>
later.<br>
<span class="HOEnZb"><font color="#888888"><br>
Ole<br>
<br>
</font></span><br>_______________________________________________<br>
Halla12_software mailing list<br>
<a href="mailto:Halla12_software@jlab.org">Halla12_software@jlab.org</a><br>
<a href="https://mailman.jlab.org/mailman/listinfo/halla12_software" target="_blank">https://mailman.jlab.org/mailman/listinfo/halla12_software</a><br>
<br></blockquote></div><br></div>