00001 #ifndef _BETA_DENSECONSTMETRIC_
00002
00003 #include <Eigen/Cholesky>
00004
00005 #include "constMetric.h"
00006
00012
00013 class denseConstMetric: public constMetric
00014 {
00015
00016 public:
00017
00018 explicit denseConstMetric(int dim, MatrixXd& massInv);
00019 virtual ~denseConstMetric() {};
00020
00022
00024
00025 double T();
00026
00027 void evolveQ(const double epsilon);
00028
00029 void bounceP(const VectorXd& normal);
00030
00032
00034
00035 void sampleP(Random& random);
00036
00037 void setInvMass(MatrixXd& massInv);
00038
00039 protected:
00040
00042 MatrixXd mMassInv;
00043
00045 LLT<MatrixXd> mMassL;
00046
00047 };
00048
00049 #define _BETA_DENSECONSTMETRIC_
00050 #endif