cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
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 CepGenAddOns_Pythia6Wrapper_EventInterface_h
20#define CepGenAddOns_Pythia6Wrapper_EventInterface_h
21
22#include <vector>
23
25
26namespace cepgen {
27 class Event;
28 namespace utils {
29 class RandomGenerator;
30 }
31 namespace pythia6 {
34 public:
36
38 size_t numStrings() const { return evt_strings_.size(); }
39 void run();
40
41 private:
42 void fillEventBlock();
43
44 Event& evt_; // NOT owning
46 std::vector<Particle::Role> roles_;
47
48 std::pair<short, short> pickPartonsContent();
49
50 using string_t = std::vector<int>;
51 std::vector<string_t> evt_strings_;
52 };
53 } // namespace pythia6
54} // namespace cepgen
55
56#endif
Container for the information on the in- and outgoing particles' kinematics.
Definition Event.h:28
Interface to the Pythia 6 event content.
A random number generator.
Kinematics
Type of scattering.
Definition Modes.h:28
Common namespace for this Monte Carlo generator.