cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
FunctionIntegrand.h
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 2013-2022 Laurent Forthomme
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef CepGen_Integration_FunctionIntegrand_h
20#define CepGen_Integration_FunctionIntegrand_h
21
22#include <functional>
23
25
26namespace cepgen {
29 public:
30 explicit FunctionIntegrand(size_t, const std::function<double(const std::vector<double>&)>&);
31
32 double eval(const std::vector<double>&) override;
33 size_t size() const override { return ndim_; }
34
35 private:
36 std::function<double(const std::vector<double>&)> function_;
37 size_t ndim_;
38 };
39} // namespace cepgen
40
41#endif
Wrapper to the function to be integrated.
double eval(const std::vector< double > &) override
Compute the integrand for a given coordinates set.
size_t size() const override
Phase space dimension.
An integrand wrapper placeholder.
Definition Integrand.h:27
Common namespace for this Monte Carlo generator.