[Clas12_software] A rant revistited

David Heddle david.heddle at cnu.edu
Wed Jul 11 09:34:36 EDT 2018


<RANT>

To use the latest wire positions (with db variation)  I need to use a
geometry package  (call it Geo2) different from the one I've been using
(call it Geo1). However throughout my code I use the classes and methods of
Geo1 for planes, 3D, intersections of 3D objects, rotations, etc. all of
which are incompatible with the objects from Geo2.

If it were only a question of wire end points there would be no problem. It
is a question of the functionality of the packages, which is not identical.

Here are my (unsavory) choices:

1) Use the wire positions from Geo2 and force them on the wire objects of
Geo1. I don't even know if that is possible, and I'm not going to check,
because while I like a good hack as much as the next person, using one geo
package to overwrite the values of another exceeds my hack threshold.

2) Switch completely to Geo2, and when I encounter needed functionality not
present I can request mods and wait.

3) (The choice I am inclined to make at this point) Use Geo2 for the wire
endpoints and other basic geometry and write my own
likely-fraught-with-errors  level geo package to reproduce the
functionality I used in Geo1--probably based on the apache math library
geometry package. That's right--because I am faced with two different geo
packages that have not been "unioned" into one, the simplest approach is to
write *another* (That only I'll use) to minimize my dependence on either.

This is *foo-bar*. A major accomplishment of the software group when the
"eeks" (Veron*ique* and Gag*ik*)  took over was the institution of the
common tools library. Two (now 2.5 after I'm done) geometry packages is a
gross violation of the beloved common tools principle.

This should not have happened.

</RANT>

-- 

*David P. Heddle, Ph.D.Professor of Physics*
*MS APCS Graduate Program Coordinator*

* Christopher Newport University Newport News, VA 23606*

*757.594.8434*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/clas12_software/attachments/20180711/555ef4ba/attachment.html>


More information about the Clas12_software mailing list