]>
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 */ | |
fb17acd4 | 5 | |
6 | /* $Id$ */ | |
7 | ||
740ebff3 | 8 | #include <TMatrixD.h> |
9 | class TArrayD; | |
10 | ||
11 | ||
12 | class AliGausCorr : public TObject { | |
13 | //////////////////////////////////////////////////////////////////////// | |
14 | // Class used to generate correlated gaussian numbers with mean | |
15 | // zero and known covariance matrix. | |
16 | // Adapted from the Fortran code in Cernlib V122 (corset, corgen) | |
17 | // F. James, Monte Carlo theory and practice, | |
18 | // Rep. Prog. Phys. 43 (1980) 1145-1189. | |
19 | // M.Masera 14.03.2001 19:30 - last mod. 26.02.2002 17:45 | |
20 | //////////////////////////////////////////////////////////////////////// | |
21 | public: | |
22 | // | |
23 | AliGausCorr(); | |
24 | AliGausCorr(const TMatrixD & cov, Int_t size); | |
25 | AliGausCorr(const AliGausCorr & tgcorr); | |
26 | virtual ~AliGausCorr(); | |
27 | void GetGaussN(TArrayD &vec) const; | |
28 | TMatrixD GetSqrtMatrix() const { return *fCv;} | |
29 | void PrintCv() const; | |
30 | AliGausCorr & operator=(const AliGausCorr & tgcorr); | |
31 | // | |
32 | private: | |
33 | // | |
34 | Int_t fSize; // number of correlated gaussian random numbers | |
35 | TMatrixD *fCv; // 'square root' of the covariance matrix | |
36 | ||
37 | ClassDef(AliGausCorr,1) | |
38 | }; | |
39 | ||
40 | ||
41 | #endif | |
42 | ||
43 | ||
44 |