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 
00015   class CorrelatedData{
00016   public:
00017 
00019     CorrelatedData(int);
00021     ~CorrelatedData() {delete m_randomEngine;}
00022 
00024     vector<double> generate(const HepMatrix& matrix) const;
00026     double generate(double) const;
00027 
00029     HepMatrix root(const HepMatrix& matrix)const;
00030     
00031     
00032   private:
00033     pair<double,double> m_ellipse;
00034     pair<double,double> m_stFactors;
00035     pair<double,double> m_abFactors;
00036     HepRandomEngine*    m_randomEngine;
00037     
00038     vector<double> normal(int nDev)const;
00039     bool makeDeviate(pair<double,double> randoms, 
00040                      double& deviate)const;
00041     
00042   };
00043   
00044 }//end of namespace
00045 
00046 #endif
00047 
00048 

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1