#ifndef MonteCarloIntegrator_CCA_H #define MonteCarloIntegrator_CCA_H #include "ports/Integrator_CCA.h" #include "ports/Function_CCA.h" #include "ports/RandomGenerator_CCA.h" namespace integrators { namespace ccaimpl { /** * A class that implements the Ingrator interface * using the Monte Carlo integration technique. */ class MonteCarloIntegrator: public virtual integrators::ccaports::Integrator, public virtual gov::cca::Component { public: MonteCarloIntegrator (); ~MonteCarloIntegrator (); virtual double integrate (double lowBound, double upBound, int count); virtual void setServices (gov::cca::Services * services); private: functions::ccaports::Function * function_m; randomgen::ccaports::RandomGenerator * random_m; gov::cca::Services * frameworkServices; }; } } #endif // MonteCarloIntegrator_CCA_H