cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
EventModifier.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2019-2024 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_EventFilter_EventModifier_h
20
#define CepGen_EventFilter_EventModifier_h
21
22
#include "
CepGen/EventFilter/EventHandler.h
"
23
24
namespace
cepgen
{
25
class
Value;
29
class
EventModifier
:
public
EventHandler
{
30
public
:
31
explicit
EventModifier
(
const
ParametersList
&);
32
33
static
ParametersDescription
description
();
34
37
void
setSeed
(
long
long
seed) {
seed_
= seed; }
38
39
inline
virtual
void
readString
(
const
std::string&) {}
40
virtual
void
readStrings
(
const
std::vector<std::string>&);
41
47
virtual
bool
run
(
Event
& ev,
double
& weight,
bool
fast =
false
) = 0;
48
inline
virtual
void
setCrossSection
(
const
Value
&) {}
49
50
protected
:
51
long
long
seed_
{0ll};
52
unsigned
short
max_trials_
{1};
53
};
54
}
// namespace cepgen
55
56
#endif
EventHandler.h
cepgen::EventHandler
Class template for modules interacting with events.
Definition
EventHandler.h:30
cepgen::EventModifier
Class template to interface (external/internal) events modification algorithms.
Definition
EventModifier.h:29
cepgen::EventModifier::readStrings
virtual void readStrings(const std::vector< std::string > &)
Parse a list of configuration strings.
Definition
EventModifier.cpp:31
cepgen::EventModifier::setCrossSection
virtual void setCrossSection(const Value &)
Specify the cross section value, in pb.
Definition
EventModifier.h:48
cepgen::EventModifier::readString
virtual void readString(const std::string &)
Parse a configuration string.
Definition
EventModifier.h:39
cepgen::EventModifier::setSeed
void setSeed(long long seed)
Specify a random numbers generator seed for the external module.
Definition
EventModifier.h:37
cepgen::EventModifier::run
virtual bool run(Event &ev, double &weight, bool fast=false)=0
Modify an event.
cepgen::EventModifier::max_trials_
unsigned short max_trials_
Maximal number of trials for the algorithm.
Definition
EventModifier.h:52
cepgen::EventModifier::description
static ParametersDescription description()
Definition
EventModifier.cpp:42
cepgen::EventModifier::seed_
long long seed_
Random numbers generator seed fed to the algorithm.
Definition
EventModifier.h:51
cepgen::Event
Container for the information on the in- and outgoing particles' kinematics.
Definition
Event.h:28
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::Value
A scalar value with its uncertainty.
Definition
Value.h:26
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGen
EventFilter
EventModifier.h
Generated on Mon Jul 29 2024 for CepGen by
1.9.7