HepMC3 event record library
binders.h
1#ifndef BINDERS_H
2#define BINDERS_H
3
4#include <HepMC3/GenEvent.h>
7#include <HepMC3/GenRunInfo.h>
8#include <HepMC3/GenVertex.h>
9#include <HepMC3/GenEvent.h>
10#include <HepMC3/LHEF.h>
12#include <pybind11/pybind11.h>
13namespace binder {
14void custom_HEPEVT_Wrapper_Runtime_binder(pybind11::class_<HepMC3::HEPEVT_Wrapper_Runtime, std::shared_ptr<HepMC3::HEPEVT_Wrapper_Runtime>> cl);
15void custom_GenEvent_binder(pybind11::class_<HepMC3::GenEvent, std::shared_ptr<HepMC3::GenEvent>> cl);
16void custom_GenParticle_binder(pybind11::class_<HepMC3::GenParticle, std::shared_ptr<HepMC3::GenParticle>> cl);
17void custom_GenVertex_binder(pybind11::class_<HepMC3::GenVertex, std::shared_ptr<HepMC3::GenVertex>> cl);
18
19void custom_GenRunInfo_binder(pybind11::class_<HepMC3::GenRunInfo, std::shared_ptr<HepMC3::GenRunInfo>> cl);
20void custom_Units_binder(pybind11::class_<HepMC3::Units, std::shared_ptr<HepMC3::Units>> cl);
21
22void custom_FourVector_binder(pybind11::class_<HepMC3::FourVector, std::shared_ptr<HepMC3::FourVector>> cl);
23template <typename T> void custom_T_binder (pybind11::class_<T, std::shared_ptr<T>> cl)
24{
25//cl.def("print", (void (T::*)(std::ostream &) const) &T::print, "Print the object", pybind11::arg("file"));
26cl.def("print", [](T const &o, pybind11::object & a1) -> void { std::stringstream b; o.print(b); a1.attr("write")(pybind11::str(b.str().c_str())); }, "Print the object", pybind11::arg("file"));
27}
28void custom_LHEFTagBase_binder (pybind11::class_<LHEF::TagBase, std::shared_ptr<LHEF::TagBase>> cl);
29void print_binder(pybind11::module &M);
30
31} // namespace binder
32
33#endif
Definition of class GenEvent.
Definition of attribute class GenHeavyIon.
Definition of class GenParticle.
Definition of class GenRunInfo.
Definition of class GenVertex.
Definition of class HEPEVT_Wrapper_Runtime.
Generic 4-vector.
Definition: FourVector.h:36
Stores event-related information.
Definition: GenEvent.h:41
Stores particle-related information.
Definition: GenParticle.h:31
Stores run-related information.
Definition: GenRunInfo.h:33
Stores vertex-related information.
Definition: GenVertex.h:26
An interface to HEPEVT common block implemented to deal with varying block size in runtime.
Stores units-related enums and conversion functions.
Definition: Units.h:26