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   using std::vector;
00011   using std::pair;
00012   using ::HepMatrix;
00013 
00014 
00015   class CorrelatedData{
00016   public:
00017     CorrelatedData(int);
00018     ~CorrelatedData() {delete m_randomEngine;}
00019     vector<double> generate(const HepMatrix& matrix) const;
00020     double generate(double) const;
00021     HepMatrix root(const HepMatrix& matrix)const;
00022     
00023     
00024   private:
00025     pair<double,double> m_ellipse;
00026     pair<double,double> m_stFactors;
00027     pair<double,double> m_abFactors;
00028     HepRandomEngine*    m_randomEngine;
00029     
00030     vector<double> normal(int nDev)const;
00031     bool makeDeviate(pair<double,double> randoms, 
00032                      double& deviate)const;
00033     
00034   };
00035   
00036 }//end of namespace
00037 
00038 #endif
00039 
00040 

Generated on Tue Mar 18 11:18:23 2003 for AtlfastAlgs by doxygen1.3-rc1