cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
GridDrawer.h
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 2022-2025 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_Utils_GridDrawer_h
20#define CepGen_Utils_GridDrawer_h
21
22#include <memory>
23
24#include "CepGen/Utils/Drawer.h"
25
26namespace cepgen {
27 template <size_t D, size_t N>
28 class GridHandler;
29}
30
31namespace cepgen::utils {
33 class GridDrawer final : public SteeredObject<GridDrawer> {
34 public:
36
38 template <size_t N>
39 static void draw(const GridHandler<1, N>&, const Drawer::Mode& mode = Drawer::Mode::none);
41 template <size_t N>
42 static void draw(const GridHandler<2, N>&, const Drawer::Mode& mode = Drawer::Mode::none);
44 template <size_t N>
45 static void draw(const GridHandler<3, N>&, const Drawer::Mode& mode = Drawer::Mode::none);
46
47 private:
48 explicit GridDrawer(const ParametersList&);
49 const std::unique_ptr<Drawer> drawer_;
50 };
51} // namespace cepgen::utils
52
53#endif
A generic class for grid interpolation.
Definition GridHandler.h:43
A description object for parameters collection.
Base user-steerable object.
Utility object to draw a grid values mapping.
Definition GridDrawer.h:33
static void draw(const GridHandler< 1, N > &, const Drawer::Mode &mode=Drawer::Mode::none)
Debugging drawing routing for single-dimensional grids.
static void draw(const GridHandler< 2, N > &, const Drawer::Mode &mode=Drawer::Mode::none)
Debugging drawing routing for double-dimensional grids.
static ParametersDescription description()
static void draw(const GridHandler< 3, N > &, const Drawer::Mode &mode=Drawer::Mode::none)
Debugging drawing routing for triple-dimensional grids.
Collection of utilities.
Common namespace for this Monte Carlo generator.
Definition Handler.h:26