cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.3
A generic central exclusive processes event generator
Loading...
Searching...
No Matches
EventExporter.h
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 2016-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_EventExporter_h
20#define CepGen_EventFilter_EventExporter_h
21
23
24namespace cepgen {
25 class Event;
26 class Value;
30 class EventExporter : public EventHandler {
31 public:
32 explicit EventExporter(const ParametersList&);
33
34 virtual void setCrossSection(const Value&) {}
35 inline void setEventNumber(unsigned long long ev_id) { event_num_ = ev_id; }
36
37 virtual bool operator<<(const Event&) = 0;
38
39 protected:
40 std::string banner(const std::string& prep = "") const;
41 unsigned long long event_num_{0ull};
42 };
43} // namespace cepgen
44
45#endif
Output format handler for events export.
virtual bool operator<<(const Event &)=0
Writer operator.
virtual void setCrossSection(const Value &)
Specify the cross section value, in pb.
unsigned long long event_num_
Event index.
void setEventNumber(unsigned long long ev_id)
Set event number.
std::string banner(const std::string &prep="") const
Print a banner containing runtime parameters.
Class template for modules interacting with events.
Container for the information on the in- and outgoing particles' kinematics.
Definition Event.h:28
A scalar value with its uncertainty.
Definition Value.h:26
Common namespace for this Monte Carlo generator.