import numpy as np
class Vertex(object):
def __init__(self, particle_name, pos, dir, ke, t0=0.0, pol=None):
self.particle_name = particle_name
self.pos = pos
self.dir = dir
self.pol = pol
self.ke = ke
self.t0 = t0
class Photons(object):
def __init__(self, pos, dir, pol, wavelengths, t=None, last_hit_triangles=None, flags=None):
self.pos = pos
self.dir = dir
self.pol = pol
self.wavelengths = wavelengths
if t is None:
self.t = np.zeros(len(pos), dtype=np.float32)
else:
self.t = t
if last_hit_triangles is None:
self.last_hit_triangles = np.empty(len(pos), dtype=np.int32)
self.last_hit_triangles.fill(-1)
else:
self.last_hit_triangles = last_hit_triangles
if flags is None:
self.flags = np.zeros(len(pos), dtype=np.uint32)
else:
self.flags = flags
def __add__(self, other