/usr/include/Pythia8/Pythia8/Pythia8ToHepMC.h is in libpythia8-dev 8.1.86-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | // Pythia8ToHepMC.h is a part of the PYTHIA event generator.
// Copyright (C) 2014 Torbjorn Sjostrand.
// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
// Please respect the MCnet Guidelines, see GUIDELINES for details.
// Author: Mikhail Kirsanov, Mikhail.Kirsanov@cern.ch
// Header file for the Pythia8ToHepMC class,
// which converts a PYTHIA event record to the standard HepMC format.
#ifndef Pythia8_Pythia8ToHepMC_H
#define Pythia8_Pythia8ToHepMC_H
#include <vector>
#include "HepMC/IO_BaseClass.h"
#include "Pythia8/Pythia.h"
namespace HepMC {
// Forward references to some classes.
class GenEvent;
class GenVertex;
class GenParticle;
//==========================================================================
// The Pythia8ToHepMC class.
class Pythia8ToHepMC : public IO_BaseClass {
public:
// Constructor and destructor.
Pythia8ToHepMC() : m_internal_event_number(0),
m_print_inconsistency(true), m_free_parton_warnings(true),
m_crash_on_problem(false), m_convert_gluon_to_0(false),
m_store_pdf(true), m_store_proc(true), m_store_xsec(true) {;}
virtual ~Pythia8ToHepMC() {;}
// The recommended method to convert Pythia events into HepMC ones.
bool fill_next_event( Pythia8::Pythia& pythia, GenEvent* evt,
int ievnum = -1 ) {return fill_next_event( pythia.event, evt,
ievnum, &pythia.info, &pythia.settings);}
// Alternative method to convert Pythia events into HepMC ones.
bool fill_next_event( Pythia8::Event& pyev, GenEvent* evt,
int ievnum = -1, Pythia8::Info* pyinfo = 0,
Pythia8::Settings* pyset = 0);
// Read out values for some switches.
bool print_inconsistency() const {return m_print_inconsistency;}
bool free_parton_warnings() const {return m_free_parton_warnings;}
bool crash_on_problem() const {return m_crash_on_problem;}
bool convert_gluon_to_0() const {return m_convert_gluon_to_0;}
bool store_pdf() const {return m_store_pdf;}
bool store_proc() const {return m_store_proc;}
bool store_xsec() const {return m_store_xsec;}
// Set values for some switches.
void set_print_inconsistency(bool b = true) {m_print_inconsistency = b;}
void set_free_parton_warnings(bool b = true) {m_free_parton_warnings = b;}
void set_crash_on_problem(bool b = false) {m_crash_on_problem = b;}
void set_convert_gluon_to_0(bool b = false) {m_convert_gluon_to_0 = b;}
void set_store_pdf(bool b = true) {m_store_pdf = b;}
void set_store_proc(bool b = true) {m_store_proc = b;}
void set_store_xsec(bool b = true) {m_store_xsec = b;}
private:
// Following methods are not implemented for this class.
virtual bool fill_next_event( GenEvent* ) { return 0; }
virtual void write_event( const GenEvent* ) {;}
// Use of copy constructor is not allowed.
Pythia8ToHepMC( const Pythia8ToHepMC& ) : IO_BaseClass() {;}
// Data members.
int m_internal_event_number;
bool m_print_inconsistency, m_free_parton_warnings,
m_crash_on_problem, m_convert_gluon_to_0,
m_store_pdf, m_store_proc, m_store_xsec;
};
//==========================================================================
} // end namespace HepMC
#endif // end Pythia8_Pythia8ToHepMC_H
|