# This file was automatically generated by SWIG (http://www.swig.org).
# Version 2.0.4
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.



from sys import version_info
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_hepmcwrap', [dirname(__file__)])
        except ImportError:
            import _hepmcwrap
            return _hepmcwrap
        if fp is not None:
            try:
                _mod = imp.load_module('_hepmcwrap', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _hepmcwrap = swig_import_helper()
    del swig_import_helper
else:
    import _hepmcwrap
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

def _swig_repr(self):
    try: strthis = "proxy of " + self.this.__repr__()
    except: strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0


class SwigPyIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)
    def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _hepmcwrap.delete_SwigPyIterator
    __del__ = lambda self : None;
    def value(self): return _hepmcwrap.SwigPyIterator_value(self)
    def incr(self, n = 1): return _hepmcwrap.SwigPyIterator_incr(self, n)
    def decr(self, n = 1): return _hepmcwrap.SwigPyIterator_decr(self, n)
    def distance(self, *args): return _hepmcwrap.SwigPyIterator_distance(self, *args)
    def equal(self, *args): return _hepmcwrap.SwigPyIterator_equal(self, *args)
    def copy(self): return _hepmcwrap.SwigPyIterator_copy(self)
    def next(self): return _hepmcwrap.SwigPyIterator_next(self)
    def __next__(self): return _hepmcwrap.SwigPyIterator___next__(self)
    def previous(self): return _hepmcwrap.SwigPyIterator_previous(self)
    def advance(self, *args): return _hepmcwrap.SwigPyIterator_advance(self, *args)
    def __eq__(self, *args): return _hepmcwrap.SwigPyIterator___eq__(self, *args)
    def __ne__(self, *args): return _hepmcwrap.SwigPyIterator___ne__(self, *args)
    def __iadd__(self, *args): return _hepmcwrap.SwigPyIterator___iadd__(self, *args)
    def __isub__(self, *args): return _hepmcwrap.SwigPyIterator___isub__(self, *args)
    def __add__(self, *args): return _hepmcwrap.SwigPyIterator___add__(self, *args)
    def __sub__(self, *args): return _hepmcwrap.SwigPyIterator___sub__(self, *args)
    def __iter__(self): return self
SwigPyIterator_swigregister = _hepmcwrap.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)

HEPMC_VERSION = _hepmcwrap.HEPMC_VERSION
class FourVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, FourVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, FourVector, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _hepmcwrap.new_FourVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def swap(self, *args): return _hepmcwrap.FourVector_swap(self, *args)
    def px(self): return _hepmcwrap.FourVector_px(self)
    def py(self): return _hepmcwrap.FourVector_py(self)
    def pz(self): return _hepmcwrap.FourVector_pz(self)
    def e(self): return _hepmcwrap.FourVector_e(self)
    def x(self): return _hepmcwrap.FourVector_x(self)
    def y(self): return _hepmcwrap.FourVector_y(self)
    def z(self): return _hepmcwrap.FourVector_z(self)
    def t(self): return _hepmcwrap.FourVector_t(self)
    def m2(self): return _hepmcwrap.FourVector_m2(self)
    def m(self): return _hepmcwrap.FourVector_m(self)
    def perp2(self): return _hepmcwrap.FourVector_perp2(self)
    def perp(self): return _hepmcwrap.FourVector_perp(self)
    def theta(self): return _hepmcwrap.FourVector_theta(self)
    def phi(self): return _hepmcwrap.FourVector_phi(self)
    def rho(self): return _hepmcwrap.FourVector_rho(self)
    def __eq__(self, *args): return _hepmcwrap.FourVector___eq__(self, *args)
    def __ne__(self, *args): return _hepmcwrap.FourVector___ne__(self, *args)
    def pseudoRapidity(self): return _hepmcwrap.FourVector_pseudoRapidity(self)
    def eta(self): return _hepmcwrap.FourVector_eta(self)
    def set(self, *args): return _hepmcwrap.FourVector_set(self, *args)
    def setX(self, *args): return _hepmcwrap.FourVector_setX(self, *args)
    def setY(self, *args): return _hepmcwrap.FourVector_setY(self, *args)
    def setZ(self, *args): return _hepmcwrap.FourVector_setZ(self, *args)
    def setT(self, *args): return _hepmcwrap.FourVector_setT(self, *args)
    def setPx(self, *args): return _hepmcwrap.FourVector_setPx(self, *args)
    def setPy(self, *args): return _hepmcwrap.FourVector_setPy(self, *args)
    def setPz(self, *args): return _hepmcwrap.FourVector_setPz(self, *args)
    def setE(self, *args): return _hepmcwrap.FourVector_setE(self, *args)
    def __str__(self): return _hepmcwrap.FourVector___str__(self)
    __swig_destroy__ = _hepmcwrap.delete_FourVector
    __del__ = lambda self : None;
FourVector_swigregister = _hepmcwrap.FourVector_swigregister
FourVector_swigregister(FourVector)

class ThreeVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ThreeVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ThreeVector, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _hepmcwrap.new_ThreeVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def swap(self, *args): return _hepmcwrap.ThreeVector_swap(self, *args)
    def x(self): return _hepmcwrap.ThreeVector_x(self)
    def y(self): return _hepmcwrap.ThreeVector_y(self)
    def z(self): return _hepmcwrap.ThreeVector_z(self)
    def setX(self, *args): return _hepmcwrap.ThreeVector_setX(self, *args)
    def setY(self, *args): return _hepmcwrap.ThreeVector_setY(self, *args)
    def setZ(self, *args): return _hepmcwrap.ThreeVector_setZ(self, *args)
    def set(self, *args): return _hepmcwrap.ThreeVector_set(self, *args)
    def phi(self): return _hepmcwrap.ThreeVector_phi(self)
    def theta(self): return _hepmcwrap.ThreeVector_theta(self)
    def r(self): return _hepmcwrap.ThreeVector_r(self)
    def setPhi(self, *args): return _hepmcwrap.ThreeVector_setPhi(self, *args)
    def setTheta(self, *args): return _hepmcwrap.ThreeVector_setTheta(self, *args)
    def perp2(self): return _hepmcwrap.ThreeVector_perp2(self)
    def perp(self): return _hepmcwrap.ThreeVector_perp(self)
    def __eq__(self, *args): return _hepmcwrap.ThreeVector___eq__(self, *args)
    def __ne__(self, *args): return _hepmcwrap.ThreeVector___ne__(self, *args)
    __swig_destroy__ = _hepmcwrap.delete_ThreeVector
    __del__ = lambda self : None;
ThreeVector_swigregister = _hepmcwrap.ThreeVector_swigregister
ThreeVector_swigregister(ThreeVector)

class GenParticle(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GenParticle, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GenParticle, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _hepmcwrap.new_GenParticle(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _hepmcwrap.delete_GenParticle
    __del__ = lambda self : None;
    def swap(self, *args): return _hepmcwrap.GenParticle_swap(self, *args)
    def __eq__(self, *args): return _hepmcwrap.GenParticle___eq__(self, *args)
    def __ne__(self, *args): return _hepmcwrap.GenParticle___ne__(self, *args)
    def to_vec4(self): return _hepmcwrap.GenParticle_to_vec4(self)
    def momentum(self): return _hepmcwrap.GenParticle_momentum(self)
    def pdg_id(self): return _hepmcwrap.GenParticle_pdg_id(self)
    def status(self): return _hepmcwrap.GenParticle_status(self)
    def flow(self, *args): return _hepmcwrap.GenParticle_flow(self, *args)
    def polarization(self): return _hepmcwrap.GenParticle_polarization(self)
    def production_vertex(self): return _hepmcwrap.GenParticle_production_vertex(self)
    def end_vertex(self): return _hepmcwrap.GenParticle_end_vertex(self)
    def parent_event(self): return _hepmcwrap.GenParticle_parent_event(self)
    def generated_mass(self): return _hepmcwrap.GenParticle_generated_mass(self)
    def generatedMass(self): return _hepmcwrap.GenParticle_generatedMass(self)
    def barcode(self): return _hepmcwrap.GenParticle_barcode(self)
    def is_undecayed(self): return _hepmcwrap.GenParticle_is_undecayed(self)
    def has_decayed(self): return _hepmcwrap.GenParticle_has_decayed(self)
    def is_beam(self): return _hepmcwrap.GenParticle_is_beam(self)
    def suggest_barcode(self, *args): return _hepmcwrap.GenParticle_suggest_barcode(self, *args)
    def set_momentum(self, *args): return _hepmcwrap.GenParticle_set_momentum(self, *args)
    def set_pdg_id(self, *args): return _hepmcwrap.GenParticle_set_pdg_id(self, *args)
    def set_status(self, status = 0): return _hepmcwrap.GenParticle_set_status(self, status)
    def set_flow(self, *args): return _hepmcwrap.GenParticle_set_flow(self, *args)
    def set_polarization(self, *args): return _hepmcwrap.GenParticle_set_polarization(self, *args)
    def set_generated_mass(self, *args): return _hepmcwrap.GenParticle_set_generated_mass(self, *args)
    def setGeneratedMass(self, *args): return _hepmcwrap.GenParticle_setGeneratedMass(self, *args)
    def __str__(self): return _hepmcwrap.GenParticle___str__(self)
GenParticle_swigregister = _hepmcwrap.GenParticle_swigregister
GenParticle_swigregister(GenParticle)

class GenVertex(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GenVertex, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GenVertex, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _hepmcwrap.new_GenVertex(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _hepmcwrap.delete_GenVertex
    __del__ = lambda self : None;
    def swap(self, *args): return _hepmcwrap.GenVertex_swap(self, *args)
    def __eq__(self, *args): return _hepmcwrap.GenVertex___eq__(self, *args)
    def __ne__(self, *args): return _hepmcwrap.GenVertex___ne__(self, *args)
    def check_momentum_conservation(self): return _hepmcwrap.GenVertex_check_momentum_conservation(self)
    def add_particle_in(self, *args): return _hepmcwrap.GenVertex_add_particle_in(self, *args)
    def add_particle_out(self, *args): return _hepmcwrap.GenVertex_add_particle_out(self, *args)
    def remove_particle(self, *args): return _hepmcwrap.GenVertex_remove_particle(self, *args)
    def to_vec4(self): return _hepmcwrap.GenVertex_to_vec4(self)
    def to_vec3(self): return _hepmcwrap.GenVertex_to_vec3(self)
    def parent_event(self): return _hepmcwrap.GenVertex_parent_event(self)
    def point3d(self): return _hepmcwrap.GenVertex_point3d(self)
    def position(self): return _hepmcwrap.GenVertex_position(self)
    def set_position(self, *args): return _hepmcwrap.GenVertex_set_position(self, *args)
    def id(self): return _hepmcwrap.GenVertex_id(self)
    def set_id(self, *args): return _hepmcwrap.GenVertex_set_id(self, *args)
    def barcode(self): return _hepmcwrap.GenVertex_barcode(self)
    def suggest_barcode(self, *args): return _hepmcwrap.GenVertex_suggest_barcode(self, *args)
    def weights(self, *args): return _hepmcwrap.GenVertex_weights(self, *args)
    def particles_in_size(self): return _hepmcwrap.GenVertex_particles_in_size(self)
    def particles_out_size(self): return _hepmcwrap.GenVertex_particles_out_size(self)
    def __str__(self): return _hepmcwrap.GenVertex___str__(self)
    def vertices(self, *args): return _hepmcwrap.GenVertex_vertices(self, *args)
GenVertex_swigregister = _hepmcwrap.GenVertex_swigregister
GenVertex_swigregister(GenVertex)

class GenEvent(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GenEvent, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GenEvent, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _hepmcwrap.new_GenEvent(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _hepmcwrap.delete_GenEvent
    __del__ = lambda self : None;
    def swap(self, *args): return _hepmcwrap.GenEvent_swap(self, *args)
    def as_str(self, *args): return _hepmcwrap.GenEvent_as_str(self, *args)
    def print_version(self, *args): return _hepmcwrap.GenEvent_print_version(self, *args)
    def barcode_to_particle(self, *args): return _hepmcwrap.GenEvent_barcode_to_particle(self, *args)
    def barcode_to_vertex(self, *args): return _hepmcwrap.GenEvent_barcode_to_vertex(self, *args)
    def signal_process_id(self): return _hepmcwrap.GenEvent_signal_process_id(self)
    def event_number(self): return _hepmcwrap.GenEvent_event_number(self)
    def mpi(self): return _hepmcwrap.GenEvent_mpi(self)
    def event_scale(self): return _hepmcwrap.GenEvent_event_scale(self)
    def alphaQCD(self): return _hepmcwrap.GenEvent_alphaQCD(self)
    def alphaQED(self): return _hepmcwrap.GenEvent_alphaQED(self)
    def signal_process_vertex(self): return _hepmcwrap.GenEvent_signal_process_vertex(self)
    def valid_beam_particles(self): return _hepmcwrap.GenEvent_valid_beam_particles(self)
    def beam_particles(self): return _hepmcwrap.GenEvent_beam_particles(self)
    def is_valid(self): return _hepmcwrap.GenEvent_is_valid(self)
    def weights(self, *args): return _hepmcwrap.GenEvent_weights(self, *args)
    def cross_section(self, *args): return _hepmcwrap.GenEvent_cross_section(self, *args)
    def heavy_ion(self, *args): return _hepmcwrap.GenEvent_heavy_ion(self, *args)
    def pdf_info(self, *args): return _hepmcwrap.GenEvent_pdf_info(self, *args)
    def random_states(self): return _hepmcwrap.GenEvent_random_states(self)
    def particles_size(self): return _hepmcwrap.GenEvent_particles_size(self)
    def particles_empty(self): return _hepmcwrap.GenEvent_particles_empty(self)
    def vertices_size(self): return _hepmcwrap.GenEvent_vertices_size(self)
    def vertices_empty(self): return _hepmcwrap.GenEvent_vertices_empty(self)
    def write_units(self, *args): return _hepmcwrap.GenEvent_write_units(self, *args)
    def write_cross_section(self, *args): return _hepmcwrap.GenEvent_write_cross_section(self, *args)
    def momentum_unit(self): return _hepmcwrap.GenEvent_momentum_unit(self)
    def length_unit(self): return _hepmcwrap.GenEvent_length_unit(self)
    def write(self, *args): return _hepmcwrap.GenEvent_write(self, *args)
    def read(self, *args): return _hepmcwrap.GenEvent_read(self, *args)
    def add_vertex(self, *args): return _hepmcwrap.GenEvent_add_vertex(self, *args)
    def remove_vertex(self, *args): return _hepmcwrap.GenEvent_remove_vertex(self, *args)
    def clear(self): return _hepmcwrap.GenEvent_clear(self)
    def set_signal_process_id(self, *args): return _hepmcwrap.GenEvent_set_signal_process_id(self, *args)
    def set_event_number(self, *args): return _hepmcwrap.GenEvent_set_event_number(self, *args)
    def set_mpi(self, *args): return _hepmcwrap.GenEvent_set_mpi(self, *args)
    def set_event_scale(self, *args): return _hepmcwrap.GenEvent_set_event_scale(self, *args)
    def set_alphaQCD(self, *args): return _hepmcwrap.GenEvent_set_alphaQCD(self, *args)
    def set_alphaQED(self, *args): return _hepmcwrap.GenEvent_set_alphaQED(self, *args)
    def set_signal_process_vertex(self, *args): return _hepmcwrap.GenEvent_set_signal_process_vertex(self, *args)
    def set_beam_particles(self, *args): return _hepmcwrap.GenEvent_set_beam_particles(self, *args)
    def set_random_states(self, *args): return _hepmcwrap.GenEvent_set_random_states(self, *args)
    def set_cross_section(self, *args): return _hepmcwrap.GenEvent_set_cross_section(self, *args)
    def set_heavy_ion(self, *args): return _hepmcwrap.GenEvent_set_heavy_ion(self, *args)
    def set_pdf_info(self, *args): return _hepmcwrap.GenEvent_set_pdf_info(self, *args)
    def use_units(self, *args): return _hepmcwrap.GenEvent_use_units(self, *args)
    def define_units(self, *args): return _hepmcwrap.GenEvent_define_units(self, *args)
    def __str__(self): return _hepmcwrap.GenEvent___str__(self)
    def summary(self): return _hepmcwrap.GenEvent_summary(self)
    def particles(self): return _hepmcwrap.GenEvent_particles(self)
    def vertices(self): return _hepmcwrap.GenEvent_vertices(self)
    def fsParticles(self): return _hepmcwrap.GenEvent_fsParticles(self)
GenEvent_swigregister = _hepmcwrap.GenEvent_swigregister
GenEvent_swigregister(GenEvent)


def __rshift__(*args):
  return _hepmcwrap.__rshift__(*args)
__rshift__ = _hepmcwrap.__rshift__

def set_input_units(*args):
  return _hepmcwrap.set_input_units(*args)
set_input_units = _hepmcwrap.set_input_units

def write_HepMC_IO_block_begin(*args):
  return _hepmcwrap.write_HepMC_IO_block_begin(*args)
write_HepMC_IO_block_begin = _hepmcwrap.write_HepMC_IO_block_begin

def write_HepMC_IO_block_end(*args):
  return _hepmcwrap.write_HepMC_IO_block_end(*args)
write_HepMC_IO_block_end = _hepmcwrap.write_HepMC_IO_block_end

def convert_units(*args):
  return _hepmcwrap.convert_units(*args)
convert_units = _hepmcwrap.convert_units
class IO_BaseClass(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, IO_BaseClass, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, IO_BaseClass, name)
    def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _hepmcwrap.delete_IO_BaseClass
    __del__ = lambda self : None;
    def write_event(self, *args): return _hepmcwrap.IO_BaseClass_write_event(self, *args)
    def fill_next_event(self, *args): return _hepmcwrap.IO_BaseClass_fill_next_event(self, *args)
    def read_next_event(self): return _hepmcwrap.IO_BaseClass_read_next_event(self)
    def __rshift__(self, *args): return _hepmcwrap.IO_BaseClass___rshift__(self, *args)
IO_BaseClass_swigregister = _hepmcwrap.IO_BaseClass_swigregister
IO_BaseClass_swigregister(IO_BaseClass)

class IO_GenEvent(IO_BaseClass):
    __swig_setmethods__ = {}
    for _s in [IO_BaseClass]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, IO_GenEvent, name, value)
    __swig_getmethods__ = {}
    for _s in [IO_BaseClass]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
    __getattr__ = lambda self, name: _swig_getattr(self, IO_GenEvent, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _hepmcwrap.delete_IO_GenEvent
    __del__ = lambda self : None;
    def write_event(self, *args): return _hepmcwrap.IO_GenEvent_write_event(self, *args)
    def fill_next_event(self, *args): return _hepmcwrap.IO_GenEvent_fill_next_event(self, *args)
    def write_comment(self, *args): return _hepmcwrap.IO_GenEvent_write_comment(self, *args)
    def rdstate(self): return _hepmcwrap.IO_GenEvent_rdstate(self)
    def clear(self): return _hepmcwrap.IO_GenEvent_clear(self)
    def use_input_units(self, *args): return _hepmcwrap.IO_GenEvent_use_input_units(self, *args)
    def precision(self, *args): return _hepmcwrap.IO_GenEvent_precision(self, *args)
    def error_type(self): return _hepmcwrap.IO_GenEvent_error_type(self)
    def error_message(self): return _hepmcwrap.IO_GenEvent_error_message(self)
    def __init__(self, *args): 
        this = _hepmcwrap.new_IO_GenEvent(*args)
        try: self.this.append(this)
        except: self.this = this
    def get_next_event(self): return _hepmcwrap.IO_GenEvent_get_next_event(self)
IO_GenEvent_swigregister = _hepmcwrap.IO_GenEvent_swigregister
IO_GenEvent_swigregister(IO_GenEvent)

class GenParticleVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GenParticleVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GenParticleVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _hepmcwrap.GenParticleVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _hepmcwrap.GenParticleVector___nonzero__(self)
    def __bool__(self): return _hepmcwrap.GenParticleVector___bool__(self)
    def __len__(self): return _hepmcwrap.GenParticleVector___len__(self)
    def pop(self): return _hepmcwrap.GenParticleVector_pop(self)
    def __getslice__(self, *args): return _hepmcwrap.GenParticleVector___getslice__(self, *args)
    def __setslice__(self, *args): return _hepmcwrap.GenParticleVector___setslice__(self, *args)
    def __delslice__(self, *args): return _hepmcwrap.GenParticleVector___delslice__(self, *args)
    def __delitem__(self, *args): return _hepmcwrap.GenParticleVector___delitem__(self, *args)
    def __getitem__(self, *args): return _hepmcwrap.GenParticleVector___getitem__(self, *args)
    def __setitem__(self, *args): return _hepmcwrap.GenParticleVector___setitem__(self, *args)
    def append(self, *args): return _hepmcwrap.GenParticleVector_append(self, *args)
    def empty(self): return _hepmcwrap.GenParticleVector_empty(self)
    def size(self): return _hepmcwrap.GenParticleVector_size(self)
    def clear(self): return _hepmcwrap.GenParticleVector_clear(self)
    def swap(self, *args): return _hepmcwrap.GenParticleVector_swap(self, *args)
    def get_allocator(self): return _hepmcwrap.GenParticleVector_get_allocator(self)
    def begin(self): return _hepmcwrap.GenParticleVector_begin(self)
    def end(self): return _hepmcwrap.GenParticleVector_end(self)
    def rbegin(self): return _hepmcwrap.GenParticleVector_rbegin(self)
    def rend(self): return _hepmcwrap.GenParticleVector_rend(self)
    def pop_back(self): return _hepmcwrap.GenParticleVector_pop_back(self)
    def erase(self, *args): return _hepmcwrap.GenParticleVector_erase(self, *args)
    def __init__(self, *args): 
        this = _hepmcwrap.new_GenParticleVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _hepmcwrap.GenParticleVector_push_back(self, *args)
    def front(self): return _hepmcwrap.GenParticleVector_front(self)
    def back(self): return _hepmcwrap.GenParticleVector_back(self)
    def assign(self, *args): return _hepmcwrap.GenParticleVector_assign(self, *args)
    def resize(self, *args): return _hepmcwrap.GenParticleVector_resize(self, *args)
    def insert(self, *args): return _hepmcwrap.GenParticleVector_insert(self, *args)
    def reserve(self, *args): return _hepmcwrap.GenParticleVector_reserve(self, *args)
    def capacity(self): return _hepmcwrap.GenParticleVector_capacity(self)
    __swig_destroy__ = _hepmcwrap.delete_GenParticleVector
    __del__ = lambda self : None;
GenParticleVector_swigregister = _hepmcwrap.GenParticleVector_swigregister
GenParticleVector_swigregister(GenParticleVector)

class cGenParticleVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, cGenParticleVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, cGenParticleVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _hepmcwrap.cGenParticleVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _hepmcwrap.cGenParticleVector___nonzero__(self)
    def __bool__(self): return _hepmcwrap.cGenParticleVector___bool__(self)
    def __len__(self): return _hepmcwrap.cGenParticleVector___len__(self)
    def pop(self): return _hepmcwrap.cGenParticleVector_pop(self)
    def __getslice__(self, *args): return _hepmcwrap.cGenParticleVector___getslice__(self, *args)
    def __setslice__(self, *args): return _hepmcwrap.cGenParticleVector___setslice__(self, *args)
    def __delslice__(self, *args): return _hepmcwrap.cGenParticleVector___delslice__(self, *args)
    def __delitem__(self, *args): return _hepmcwrap.cGenParticleVector___delitem__(self, *args)
    def __getitem__(self, *args): return _hepmcwrap.cGenParticleVector___getitem__(self, *args)
    def __setitem__(self, *args): return _hepmcwrap.cGenParticleVector___setitem__(self, *args)
    def append(self, *args): return _hepmcwrap.cGenParticleVector_append(self, *args)
    def empty(self): return _hepmcwrap.cGenParticleVector_empty(self)
    def size(self): return _hepmcwrap.cGenParticleVector_size(self)
    def clear(self): return _hepmcwrap.cGenParticleVector_clear(self)
    def swap(self, *args): return _hepmcwrap.cGenParticleVector_swap(self, *args)
    def get_allocator(self): return _hepmcwrap.cGenParticleVector_get_allocator(self)
    def begin(self): return _hepmcwrap.cGenParticleVector_begin(self)
    def end(self): return _hepmcwrap.cGenParticleVector_end(self)
    def rbegin(self): return _hepmcwrap.cGenParticleVector_rbegin(self)
    def rend(self): return _hepmcwrap.cGenParticleVector_rend(self)
    def pop_back(self): return _hepmcwrap.cGenParticleVector_pop_back(self)
    def erase(self, *args): return _hepmcwrap.cGenParticleVector_erase(self, *args)
    def __init__(self, *args): 
        this = _hepmcwrap.new_cGenParticleVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _hepmcwrap.cGenParticleVector_push_back(self, *args)
    def front(self): return _hepmcwrap.cGenParticleVector_front(self)
    def back(self): return _hepmcwrap.cGenParticleVector_back(self)
    def assign(self, *args): return _hepmcwrap.cGenParticleVector_assign(self, *args)
    def resize(self, *args): return _hepmcwrap.cGenParticleVector_resize(self, *args)
    def insert(self, *args): return _hepmcwrap.cGenParticleVector_insert(self, *args)
    def reserve(self, *args): return _hepmcwrap.cGenParticleVector_reserve(self, *args)
    def capacity(self): return _hepmcwrap.cGenParticleVector_capacity(self)
    __swig_destroy__ = _hepmcwrap.delete_cGenParticleVector
    __del__ = lambda self : None;
cGenParticleVector_swigregister = _hepmcwrap.cGenParticleVector_swigregister
cGenParticleVector_swigregister(cGenParticleVector)

class GenVertexVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GenVertexVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GenVertexVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _hepmcwrap.GenVertexVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _hepmcwrap.GenVertexVector___nonzero__(self)
    def __bool__(self): return _hepmcwrap.GenVertexVector___bool__(self)
    def __len__(self): return _hepmcwrap.GenVertexVector___len__(self)
    def pop(self): return _hepmcwrap.GenVertexVector_pop(self)
    def __getslice__(self, *args): return _hepmcwrap.GenVertexVector___getslice__(self, *args)
    def __setslice__(self, *args): return _hepmcwrap.GenVertexVector___setslice__(self, *args)
    def __delslice__(self, *args): return _hepmcwrap.GenVertexVector___delslice__(self, *args)
    def __delitem__(self, *args): return _hepmcwrap.GenVertexVector___delitem__(self, *args)
    def __getitem__(self, *args): return _hepmcwrap.GenVertexVector___getitem__(self, *args)
    def __setitem__(self, *args): return _hepmcwrap.GenVertexVector___setitem__(self, *args)
    def append(self, *args): return _hepmcwrap.GenVertexVector_append(self, *args)
    def empty(self): return _hepmcwrap.GenVertexVector_empty(self)
    def size(self): return _hepmcwrap.GenVertexVector_size(self)
    def clear(self): return _hepmcwrap.GenVertexVector_clear(self)
    def swap(self, *args): return _hepmcwrap.GenVertexVector_swap(self, *args)
    def get_allocator(self): return _hepmcwrap.GenVertexVector_get_allocator(self)
    def begin(self): return _hepmcwrap.GenVertexVector_begin(self)
    def end(self): return _hepmcwrap.GenVertexVector_end(self)
    def rbegin(self): return _hepmcwrap.GenVertexVector_rbegin(self)
    def rend(self): return _hepmcwrap.GenVertexVector_rend(self)
    def pop_back(self): return _hepmcwrap.GenVertexVector_pop_back(self)
    def erase(self, *args): return _hepmcwrap.GenVertexVector_erase(self, *args)
    def __init__(self, *args): 
        this = _hepmcwrap.new_GenVertexVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _hepmcwrap.GenVertexVector_push_back(self, *args)
    def front(self): return _hepmcwrap.GenVertexVector_front(self)
    def back(self): return _hepmcwrap.GenVertexVector_back(self)
    def assign(self, *args): return _hepmcwrap.GenVertexVector_assign(self, *args)
    def resize(self, *args): return _hepmcwrap.GenVertexVector_resize(self, *args)
    def insert(self, *args): return _hepmcwrap.GenVertexVector_insert(self, *args)
    def reserve(self, *args): return _hepmcwrap.GenVertexVector_reserve(self, *args)
    def capacity(self): return _hepmcwrap.GenVertexVector_capacity(self)
    __swig_destroy__ = _hepmcwrap.delete_GenVertexVector
    __del__ = lambda self : None;
GenVertexVector_swigregister = _hepmcwrap.GenVertexVector_swigregister
GenVertexVector_swigregister(GenVertexVector)

class cGenVertexVector(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, cGenVertexVector, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, cGenVertexVector, name)
    __repr__ = _swig_repr
    def iterator(self): return _hepmcwrap.cGenVertexVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _hepmcwrap.cGenVertexVector___nonzero__(self)
    def __bool__(self): return _hepmcwrap.cGenVertexVector___bool__(self)
    def __len__(self): return _hepmcwrap.cGenVertexVector___len__(self)
    def pop(self): return _hepmcwrap.cGenVertexVector_pop(self)
    def __getslice__(self, *args): return _hepmcwrap.cGenVertexVector___getslice__(self, *args)
    def __setslice__(self, *args): return _hepmcwrap.cGenVertexVector___setslice__(self, *args)
    def __delslice__(self, *args): return _hepmcwrap.cGenVertexVector___delslice__(self, *args)
    def __delitem__(self, *args): return _hepmcwrap.cGenVertexVector___delitem__(self, *args)
    def __getitem__(self, *args): return _hepmcwrap.cGenVertexVector___getitem__(self, *args)
    def __setitem__(self, *args): return _hepmcwrap.cGenVertexVector___setitem__(self, *args)
    def append(self, *args): return _hepmcwrap.cGenVertexVector_append(self, *args)
    def empty(self): return _hepmcwrap.cGenVertexVector_empty(self)
    def size(self): return _hepmcwrap.cGenVertexVector_size(self)
    def clear(self): return _hepmcwrap.cGenVertexVector_clear(self)
    def swap(self, *args): return _hepmcwrap.cGenVertexVector_swap(self, *args)
    def get_allocator(self): return _hepmcwrap.cGenVertexVector_get_allocator(self)
    def begin(self): return _hepmcwrap.cGenVertexVector_begin(self)
    def end(self): return _hepmcwrap.cGenVertexVector_end(self)
    def rbegin(self): return _hepmcwrap.cGenVertexVector_rbegin(self)
    def rend(self): return _hepmcwrap.cGenVertexVector_rend(self)
    def pop_back(self): return _hepmcwrap.cGenVertexVector_pop_back(self)
    def erase(self, *args): return _hepmcwrap.cGenVertexVector_erase(self, *args)
    def __init__(self, *args): 
        this = _hepmcwrap.new_cGenVertexVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _hepmcwrap.cGenVertexVector_push_back(self, *args)
    def front(self): return _hepmcwrap.cGenVertexVector_front(self)
    def back(self): return _hepmcwrap.cGenVertexVector_back(self)
    def assign(self, *args): return _hepmcwrap.cGenVertexVector_assign(self, *args)
    def resize(self, *args): return _hepmcwrap.cGenVertexVector_resize(self, *args)
    def insert(self, *args): return _hepmcwrap.cGenVertexVector_insert(self, *args)
    def reserve(self, *args): return _hepmcwrap.cGenVertexVector_reserve(self, *args)
    def capacity(self): return _hepmcwrap.cGenVertexVector_capacity(self)
    __swig_destroy__ = _hepmcwrap.delete_cGenVertexVector
    __del__ = lambda self : None;
cGenVertexVector_swigregister = _hepmcwrap.cGenVertexVector_swigregister
cGenVertexVector_swigregister(cGenVertexVector)

class GenParticlePair(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, GenParticlePair, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, GenParticlePair, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _hepmcwrap.new_GenParticlePair(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_setmethods__["first"] = _hepmcwrap.GenParticlePair_first_set
    __swig_getmethods__["first"] = _hepmcwrap.GenParticlePair_first_get
    if _newclass:first = _swig_property(_hepmcwrap.GenParticlePair_first_get, _hepmcwrap.GenParticlePair_first_set)
    __swig_setmethods__["second"] = _hepmcwrap.GenParticlePair_second_set
    __swig_getmethods__["second"] = _hepmcwrap.GenParticlePair_second_get
    if _newclass:second = _swig_property(_hepmcwrap.GenParticlePair_second_get, _hepmcwrap.GenParticlePair_second_set)
    def __len__(self): return 2
    def __repr__(self): return str((self.first, self.second))
    def __getitem__(self, index): 
      if not (index % 2): 
        return self.first
      else:
        return self.second
    def __setitem__(self, index, val):
      if not (index % 2): 
        self.first = val
      else:
        self.second = val
    __swig_destroy__ = _hepmcwrap.delete_GenParticlePair
    __del__ = lambda self : None;
GenParticlePair_swigregister = _hepmcwrap.GenParticlePair_swigregister
GenParticlePair_swigregister(GenParticlePair)

class cGenParticlePair(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, cGenParticlePair, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, cGenParticlePair, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _hepmcwrap.new_cGenParticlePair(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_setmethods__["first"] = _hepmcwrap.cGenParticlePair_first_set
    __swig_getmethods__["first"] = _hepmcwrap.cGenParticlePair_first_get
    if _newclass:first = _swig_property(_hepmcwrap.cGenParticlePair_first_get, _hepmcwrap.cGenParticlePair_first_set)
    __swig_setmethods__["second"] = _hepmcwrap.cGenParticlePair_second_set
    __swig_getmethods__["second"] = _hepmcwrap.cGenParticlePair_second_get
    if _newclass:second = _swig_property(_hepmcwrap.cGenParticlePair_second_get, _hepmcwrap.cGenParticlePair_second_set)
    def __len__(self): return 2
    def __repr__(self): return str((self.first, self.second))
    def __getitem__(self, index): 
      if not (index % 2): 
        return self.first
      else:
        return self.second
    def __setitem__(self, index, val):
      if not (index % 2): 
        self.first = val
      else:
        self.second = val
    __swig_destroy__ = _hepmcwrap.delete_cGenParticlePair
    __del__ = lambda self : None;
cGenParticlePair_swigregister = _hepmcwrap.cGenParticlePair_swigregister
cGenParticlePair_swigregister(cGenParticlePair)

# This file is compatible with both classic and new-style classes.


