[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: updated geometry
Hi All,
Just to put in my $0.02 here. The reason we keep the hddGeant.F file
in the repository in addition to the XML is due mainly to my own strong
voiced aversion to "package creep". A few years ago, it was unclear to
me that we would be needing Xerces for anything other than to convert
the XML to fortran or C files. And, more importantly, how often the
common user would need to do this. As a general rule, I still believe we
need to set the bar very high for bringing in 3rd party packages.
That being said, I agree that Xerces has now met that threshold.
Actually, I decided this a few months back when I used Xerces as the
interface to the XML geometry access in the Hall-D reconstruction code.
It has actually been required for a little while now. In fact Matt S.
just brought up this very point 2 days ago that maybe we should remove
the derived files from the repository and force regeneration by everyone
who checks out the source. Given all of this, I would support the
proposal that we remove hddsGeant3.F from the repository and keep only
the XML source.
Someone (I think I heard Mark volunteer) will need to make the build
system robust enough so that this is not completely confusing to
novices. Specifically, if one runs make in the HDGeant directory when no
hddsGeant3.F file exists, it either automatically generates one by
running make in the ../hdds directory, or prints a clear message telling
the user to do this.
I am not yet at the point of supporting a similar move with the HDDM
system since that requires yet another package (XALAN) and the HDDM XML
files are modified even less often than the geometry ones.
Finally, I will restate that I believe the best way to manage the
3rd party packages is through the built-in package management systems
that every semi-modern OS has. The class of users who merely wish to run
the software will clearly be served well by this and those of us doing
fresh installs will benefit as well. It will allow us to make as
complicated of dependency chain as we want without changing the 3 or so
lines of installation instructions for newbies.
I would be interested if others have opinions on this.
Regards,
-David
Mark M. Ito wrote:
> Beni,
>
> Thanks for getting that done. Sounds like real progress.
>
> This brings up a code management issue that I have been wondering
> about for some time. It seems like we have a two step process:
> check-in new xml-based geometry information, then, by hand, generate
> the corresponding Fortran GEANT code, then check in the fortran code.
> This procedure violates the usual philosophy of only checking in
> "source" materials and allowing a make system to generate "derived"
> materials. It seems to have lead to some confusion about what we have
> in the Monte Carlo vs. what we have in the geometry. And I suspect
> some of the build problems I have had recently have to do with trying
> to maintain both "source" and "derived" in the Subversion repository.
>
> My naive proposal is that we remove the Fortran GEANT code from the
> repository and regenerate it as part of the make system. Then one is
> guaranteed consistency between geometry specification and code. Also
> (if this can be done) a user can modify the geometry and use it
> immediately in the Monte Carlo without having to know the details of
> how to generate the Fortran code, i. e., play with a private version
> of the geometry without becoming an expert. Is there some fundamental
> problem with this? Too computationally expensive? Too many "helper"
> applications to install? Also, I have no idea how complicated it is to
> generate the Fortran code given you have everything you need installed.
>
> On the subject of helper applications, I think we should be able to
> put together enough documentation and scripts to install them on most
> systems, especially if the applications are coming to us from
> experienced/professional programmers.
>
> What do you and others think?
>
> -- Mark
>
> Beni Zihlmann wrote:
>> Dear colleagues,
>> I updated the geometry in the repository. The geometry now reflects
>> all the changes and design decisions that have been made lately.
>> 1) remove outer most CDC layer thereby reducing the CDC radius by 1.6 cm
>> including the cable runs.
>> 2) re-route the FDC cables to run upstream
>> 3) add an 8mm aluminum plate on the inside of the BCAL
>> 4) the BCAL readout segmentation is 4x6 (sector x layer)
>>
>> all these changes are now available the in geometry file hddsGeant3.F
>> located in
>> src/programs/Simulation/HDGeant/
>>
>> cheers,
>> Beni
>>
--
------------------------------------------------------------------------
David Lawrence Ph.D.
Staff Scientist Office: (757)269-5567 [[[ [ [ [
Jefferson Lab Pager: (757)584-5567 [ [ [ [ [ [
http://www.jlab.org/~davidl davidl@jlab.org [[[ [[ [[ [[[
------------------------------------------------------------------------