Line: 1 to 1  

LHCb Physics Event Model Comments on the MathCore Vector and the Root Linear Algebra Classes  
Line: 12 to 12  
MathCore Vector Classes  
Changed:  
< <  
> >  
Although they have a little complicated structure (many templates and typedefs) which makes it sometimes difficult to know which class one is actually using, the MathCore Vector Classes are quite well designed. Also the classes have sometimes silly names (XYZTVector for instance), which we suggest to hide behind an additional layer of typedefs.  
Line: 22 to 22  
Root Linear Algebra Classes  
Changed:  
< <  
> >  

Line: 1 to 1  

LHCb Physics Event Model Comments on the MathCore Vector and the Root Linear Algebra Classes  
Line: 19 to 19  
There are a few small problems that can be easily fixed:
 
Deleted:  
< < 
 
Root Linear Algebra Classes  
Line: 30 to 29  
 
Added:  
> >  Use case for linear algebra package presented to SEAL/ROOT groupThe minimal algebra package is to be optimised for small (typically < 10) size matrices and vectors. In what follows, is is assumed that the software must be fast and efficient. This usecase has been compiled from communications between Patrick K., Vanya, Matt N., Juan and Lorenzo Moneta.
Main requirements
Other requirementsThese are requirements where speed might not be of the escence, since they relate to operations not needed in typical reconstruction algorithms
Open questionsWhich of the operations above should be nonmutating? Should inverse and transpose return a new matrix, or perform the operation on itself?
 JuanPalacios  04 Oct 2005  
What do we expect from a Linear Algebra package?First brain dump by PK at the LHCb Software week (slides) summarized by Juan: 
Line: 1 to 1  

LHCb Physics Event Model Comments on the MathCore Vector and the Root Linear Algebra Classes  
Line: 20 to 20  
 
Changed:  
< < 
 
> > 
 
Root Linear Algebra Classes  
Line: 30 to 30  
 
Added:  
> >  What do we expect from a Linear Algebra package?First brain dump by PK at the LHCb Software week (slides) summarized by Juan:
"Obvious requirements" by Matt for tracking:
 PatrickKoppenburg  30 Sep 2005  
Links 
Line: 1 to 1  

LHCb Physics Event Model Comments on the MathCore Vector and the Root Linear Algebra Classes  
Line: 58 to 58  
Hep3Vector D(TMP.x(),TMP.y(),TMP.z()) ; // objectoriented programming ?  
Added:  
> >  CRJ : Note, this does work if you use HepVector3D instead of Hep3Vector
HepPoint3D P(0,0,0), B(1,2,3); HepVector3D V(0.8,0.6,0.0); HepVector3D D = B  A; // does work double IP = (D.cross(V.unit()).mag();I think the confusion is "why are there 2 versions of 3vectors in CLHEP ?"  ChrisRJones  20 Sep 2005  

Line: 1 to 1  

LHCb Physics Event Model Comments on the MathCore Vector and the Root Linear Algebra Classes
Introduction  
Changed:  
< <  The review of the physics event model is the right opportunity to also revise the usage of CLHEP. The merger of SEAL and ROOT is supposed to provide a new library of vectors and linear algebra (matrices) that overcome the known CLHEP problems (see below). There is a test version of the vector classes available, while the liear algebra matrices are part of the ROOT TObject classes for quite some time.  
> >  The review of the physics event model is the right opportunity to also revise the usage of CLHEP in the Physics Event Model (and also an incent to totally abandon CLHEP in LHCb software). The merger of SEAL and ROOT is supposed to provide a new library of vectors and linear algebra (matrices) that overcome the known CLHEP problems (see below). There is a test version of the vector classes available, while the liear algebra matrices are part of the ROOT TObject classes for quite some time.  
We have tried to use these classes in the new Physics Event Model but have found too many problems.
The contact person far all these issues is Juan Palacios.  
Added:  
> > 
MathCore Vector ClassesAlthough they have a little complicated structure (many templates and typedefs) which makes it sometimes difficult to know which class one is actually using, the MathCore Vector Classes are quite well designed. Also the classes have sometimes silly names (XYZTVector for instance), which we suggest to hide behind an additional layer of typedefs. There are a few small problems that can be easily fixed:
Root Linear Algebra Classes
Links
Appendix  
CLHEP problems  
Line: 38 to 66  
Conclusion: Include SymMatrix at the very beginning of the file.
 
Deleted:  
< <  MathCore Vector ClassesAlthough they have a little complicated structure (many templates and typedefs) which makes it sometimes difficult to know which class one is actually using, the MathCore Vector Classes are quite well designed. Also the classes have sometimes silly names (XYZTVector for instance), which we hide behing an additional layer of typedefs. There are a few small problems that can be easily fixed:
Root Linear Algebra Classes
Links  
 PatrickKoppenburg  09 Sep 2005 
Line: 1 to 1  

Added:  
> > 
LHCb Physics Event Model Comments on the MathCore Vector and the Root Linear Algebra Classes
IntroductionThe review of the physics event model is the right opportunity to also revise the usage of CLHEP. The merger of SEAL and ROOT is supposed to provide a new library of vectors and linear algebra (matrices) that overcome the known CLHEP problems (see below). There is a test version of the vector classes available, while the liear algebra matrices are part of the ROOT TObject classes for quite some time.We have tried to use these classes in the new Physics Event Model but have found too many problems. The contact person far all these issues is Juan Palacios.
CLHEP problemsA brief reminder of the problems with CLHEP:
HepPoint3D P(0,0,0), B(1,2,3); Hep3Vector V(0.8,0.6,0.0); Hep3Vector D = B  A; // does not compile with CLHEP 1.9 double IP = (D.cross(V.unit()).mag(); One needs to:
HepPoint3D TMP = B  A ; // point  point is point (!?) Hep3Vector D(TMP.x(),TMP.y(),TMP.z()) ; // objectoriented programming ?
SymMatrix at the very beginning of the file.
MathCore Vector ClassesAlthough they have a little complicated structure (many templates and typedefs) which makes it sometimes difficult to know which class one is actually using, the MathCore Vector Classes are quite well designed. Also the classes have sometimes silly names (XYZTVector for instance), which we hide behing an additional layer of typedefs. There are a few small problems that can be easily fixed:
Root Linear Algebra Classes
Links PatrickKoppenburg  09 Sep 2005 