]>
Commit | Line | Data |
---|---|---|
740ebff3 | 1 | #ifndef ALIGAUSCORR_H |
2 | #define ALIGAUSCORR_H | |
3 | /* Copyright(c) 2001-2002, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | #include <TMatrixD.h> | |
6 | class TArrayD; | |
7 | ||
8 | ||
9 | class AliGausCorr : public TObject { | |
10 | //////////////////////////////////////////////////////////////////////// | |
11 | // Class used to generate correlated gaussian numbers with mean | |
12 | // zero and known covariance matrix. | |
13 | // Adapted from the Fortran code in Cernlib V122 (corset, corgen) | |
14 | // F. James, Monte Carlo theory and practice, | |
15 | // Rep. Prog. Phys. 43 (1980) 1145-1189. | |
16 | // M.Masera 14.03.2001 19:30 - last mod. 26.02.2002 17:45 | |
17 | //////////////////////////////////////////////////////////////////////// | |
18 | public: | |
19 | // | |
20 | AliGausCorr(); | |
21 | AliGausCorr(const TMatrixD & cov, Int_t size); | |
22 | AliGausCorr(const AliGausCorr & tgcorr); | |
23 | virtual ~AliGausCorr(); | |
24 | void GetGaussN(TArrayD &vec) const; | |
25 | TMatrixD GetSqrtMatrix() const { return *fCv;} | |
26 | void PrintCv() const; | |
27 | AliGausCorr & operator=(const AliGausCorr & tgcorr); | |
28 | // | |
29 | private: | |
30 | // | |
31 | Int_t fSize; // number of correlated gaussian random numbers | |
32 | TMatrixD *fCv; // 'square root' of the covariance matrix | |
33 | ||
34 | ClassDef(AliGausCorr,1) | |
35 | }; | |
36 | ||
37 | ||
38 | #endif | |
39 | ||
40 | ||
41 |