00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef xTCL_h
00019 #define xTCL_h
00020 #include "TMath.h"
00021 #if ROOT_VERSION_CODE < 331013
00022 #include "TCL.h"
00023 #else
00024 #include "TCernLib.h"
00025 #endif
00026 #include "TMatrixD.h"
00027 #include "TVectorD.h"
00028
00029
00030 class xTCL {
00031 public:
00032 static double vmaxa (const double *a, int na);
00033 static double vmaxa (const TVectorD &a);
00034 static int lvmaxa (const double *v,int n);
00035 static int lvmina (const double *v,int n);
00036 static void vfill ( double *a,double f,int na);
00037 static void mxmlrt (const TMatrixD &A,const TMatrixD &B,TMatrixD &X);
00038 static void mxmlrtS(const TMatrixD &A,const TMatrixD &B,TMatrixD &X);
00039 static void mxmlrtS(const double *A,const double *B,double *X,int nra,int nca);
00040 static TMatrixD T(const TMatrixD &mx);
00041 static void eigen2 (const double err[3], double lam[2], double eig[2][2]);
00042 static double simpson(const double *F,double A,double B,int NP);
00043 static double vasum (const double *a, int na);
00044 static double vasum (const TVectorD &a);
00045 static int SqProgSimple( TVectorD &x
00046 ,const TVectorD &g,const TMatrixD &G
00047 ,const TVectorD &Min
00048 ,const TVectorD &Max,int iAkt);
00049 static double **makeMatrixD(int m,int n);
00050 static void toEuler(const double TT[3][3],double PhiThePsi[6]);
00051
00052
00053 };
00054 #endif// xTCL_h