StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TRandomVector.h
1 // Author: Victor Perev 06/06/10
2 
3 
4 #ifndef ROOT_TRandomVector
5 #define ROOT_TRandomVector
6 
7 
9 // //
10 // TRandomVector //
11 // //
12 // //
14 #include "TNamed.h"
15 #include "TString.h"
16 #include "TMatrixD.h"
17 #include "TMatrixDSym.h"
18 #include "TVectorD.h"
19 #include "TRandom.h"
20 
21 class TRandomVector: public TObject
22 {
23 public:
24  TRandomVector();
25  TRandomVector(const TMatrixDSym& errMtx,UInt_t seed = 1946);
26  TRandomVector(const TVectorD& diaMtx,UInt_t seed = 1946);
27  TRandomVector(int nSide,const double *G,UInt_t seed = 1946);
28  ~TRandomVector(){;}
29  int Set(const TMatrixDSym& errMtx,UInt_t seed = 65539);
30 static void RandRotate(TMatrixDSym& errMtx);
31 static double Sign(const TMatrixDSym& errMtx);
32 
33 const TMatrixDSym &GetMtx() const {return fErrMtx;}
34 const TMatrixD &GetEig() const {return fEigMtx;}
35 const TVectorD &GetLam() const {return fEigVal;}
36 const TVectorD& Gaus();
37 static void Test(int nevt = 10000);
38 static void TestXi2();
39 
40 // Data members
41 private:
42 int fDim;
43 TRandom fRandom;
44 TMatrixDSym fErrMtx;
45 TMatrixD fEigMtx;
46 TVectorD fEigVal;
47 TVectorD fResult;
48 ClassDef(TRandomVector,0)
49 
50 };
51 #endif //ROOT_TRandomVector