herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
Remapper.h
1// -*- C++ -*-
2//
3// Remapper.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef Herwig_Remapper_H
10#define Herwig_Remapper_H
11//
12// This is the declaration of the Remapper class.
13//
14
15#include <iostream>
16#include <map>
17#include "Herwig/Utilities/XML/Element.h"
18
19namespace Herwig {
20
27struct Remapper {
28
29 std::map<double,double> weights;
30
32
33 double lower;
34 double upper;
35 double value;
36
37 };
38
39 std::map<double,SelectorEntry> selector;
40
41 double minSelection;
42
43 bool smooth;
44
45 Remapper();
46
47 Remapper(unsigned int nBins,
48 double nMinSelection,
49 bool nSmooth);
50
51 void fill(double x, double w);
52
53 void finalize();
54
55 std::pair<double,double> generate(double r) const;
56
57 void fromXML(const XML::Element& elem);
58
59 XML::Element toXML() const;
60
61 void test(size_t n, std::ostream&);
62
63};
64
65}
66
67#endif // Herwig_Remapper_H
68
Element represents a (tree of) XML elements.
Definition: Element.h:56
-*- C++ -*-
Remapper adapts indivdual MC dimensions.
Definition: Remapper.h:27