[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