00001 #ifndef _CommonDet_RandomMultiGauss_H_ 00002 #define _CommonDet_RandomMultiGauss_H_ 00003 00004 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h" 00005 00014 class RandomMultiGauss { 00015 public: 00018 RandomMultiGauss (const AlgebraicVector& aVector, const AlgebraicSymMatrix& aMatrix); 00021 RandomMultiGauss (const AlgebraicSymMatrix& aMatrix); 00022 // destructor 00023 ~RandomMultiGauss() {} 00026 AlgebraicVector fire(); 00027 00028 private: 00031 void initialise(const AlgebraicSymMatrix&); 00032 00033 private: 00034 int theSize; 00035 AlgebraicVector theMeans; 00036 AlgebraicMatrix theTriangle; 00037 }; 00038 00039 #endif