cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
EventInterface.h
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 2013-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 CepGenPythia6_EventInterface_h
20#define CepGenPythia6_EventInterface_h
21
22#include <vector>
23
26
27namespace cepgen {
28 class Event;
29 namespace utils {
30 class RandomGenerator;
31 }
32} // namespace cepgen
33
34namespace cepgen::pythia6 {
37 public:
39
41 size_t numStrings() const { return evt_strings_.size(); }
42 void run();
43
44 private:
45 void fillEventBlock();
46
47 Event& cepgen_event_; // NOT owning
48 utils::RandomGenerator* random_generator_;
49 std::vector<Particle::Role> roles_;
50
51 std::pair<short, short> pickPartonsContent() const;
52
53 using string_t = std::vector<int>;
54 std::vector<string_t> evt_strings_;
55 };
56} // namespace cepgen::pythia6
57
58#endif
Container for the information on the in- and outgoing particles' kinematics.
Definition Event.h:26
Interface to the Pythia 6 event content.
void prepareHadronisation()
Add/edit event attributes to prepare for its fragmentation/hadronisation.
void run()
Run the fragmentation/hadronisation algorithm.
EventInterface(Event &, mode::Kinematics, utils::RandomGenerator *)
size_t numStrings() const
Number of string-bound partons in the event.
A random number generator.
Kinematics
Type of scattering.
Definition Modes.h:27
Pythia 6 utilities namespace.
Common namespace for this Monte Carlo generator.
Definition Handler.h:26