Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

CorrelatedData.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_CORRELATEDDATA_H
00002 #define ATLFAST_CORRELATEDDATA_H
00003 
00004 #include "CLHEP/Random/JamesRandom.h"
00005 #include "CLHEP/Matrix/Matrix.h"
00006 #include <vector>
00007 #include <utility>
00008 
00009 namespace Atlfast
00010 {
00011 
00012 class CorrelatedData
00013 {
00014 public:
00015         CorrelatedData(int);
00016         ~CorrelatedData() {delete m_randomEngine;}
00017         vector<double> generate(const HepMatrix& matrix) const;
00018         double generate(double) const;
00019         HepMatrix root(const HepMatrix& matrix)const;
00020 
00021 
00022 private:
00023         pair<double,double> m_ellipse;
00024         pair<double,double> m_stFactors;
00025         pair<double,double> m_abFactors;
00026         HepRandomEngine*    m_randomEngine;
00027 
00028         vector<double> normal(int nDev)const;
00029         bool makeDeviate(pair<double,double> randoms, 
00030                                  double& deviate)const;
00031 
00032 };
00033 
00034 }//end of namespace
00035 
00036 #endif
00037 
00038 

Generated on Mon Feb 4 15:54:23 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001