cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
CepGenEvent.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 CepGenHepMC3_CepGenEvent_h
20#define CepGenHepMC3_CepGenEvent_h
21
22#include <HepMC3/GenEvent.h>
23
24#include <memory>
25#include <unordered_map>
26
27namespace cepgen {
28 class Event;
29}
30
31namespace HepMC3 {
35 class CepGenEvent final : public GenEvent {
36 public:
37 explicit CepGenEvent(const cepgen::Event&);
38 explicit operator cepgen::Event() const;
39 void dump() const;
40 void merge(cepgen::Event&) const;
41
42 private:
43 static constexpr double kTolerance = 1.e-10;
44 std::unordered_map<unsigned short, std::shared_ptr<GenParticle> > cepgen_id_vs_hepmc_particle_;
45 };
46} // namespace HepMC3
47#endif
Interfacing between CepGen and HepMC event definitions.
Definition CepGenEvent.h:35
void merge(cepgen::Event &) const
Merge this event with another CepGen event record.
CepGenEvent(const cepgen::Event &)
Construct an event interface from a CepGen Event object.
void dump() const
Write the event content in the standard stream.
Container for the information on the in- and outgoing particles' kinematics.
Definition Event.h:26
Common namespace for this Monte Carlo generator.
Definition Handler.h:26