>>>>> "GAH" == George Heintzelman <gah@bnl.gov> writes: >> > TVector3 and TLorentzVector have been left unchanged since >> your mail > and the discussion following it. These two classes >> were supposed to be in > phase with the same classes in >> CLHEP. It is my understanding that the CLHEP > maintainers were >> against your proposal (from some private emails!). >> I think allowing more powerful and understandable code to be >> written is far more important than saving a few bytes here and >> there, but anyway. GAH> However, when you build a library, this is completely GAH> different. Since you're building it (hopefully) for general GAH> use and re-use, you do not have any constraint on the GAH> application people will eventually put it to, and so you GAH> should make it as lean and mean as possible. Yes, but I think the key here is reuse. Unless there is an extremely good justification for *preventing* a class from being inherited, then it seems library classes should be designed to encourage it. I gather this is not a problem in ROOT since the vector classes derive from TObject, but it's pretty short sighted in CLHEP. And, if a class can be inherited then an application that needs special performance can start by sub-classing the base class while the application is being written and debugged. Later after it's debugged, through the magic of C++ the class's inheritance can be changed to use the extremely fast/small/whatever special purpose class. Cheers, Clark
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:35 MET