// File: /workspace/github_cpp_makefile_star2_O3/nwieder[P]SSTS/src/Input/../System/../Events/_Event.h
// Function: nw::_Event::_Event(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, double, std::vector<nw::_Voxel*, std::allocator<nw::_Voxel*>>, nw::Uni_Rnd*)
_Event(long id, string name, double k, VoxelVector vvc, Uni_Rnd* rg):
		id(id),
		name(name),
		k(k),
		rg(rg),
		dirty_flag(true){

//		add self-reference to dependency list.
		this->dep_list.push_back(this);
//		check if all voxel in the assigned voxel vector have the same size
		for (size_t i = 0; i < tv_vec.size(); i++){
			if(vvc[i]->get_volume() != vvc[0]->get_volume()){
				cout << "ERROR: Voxel sizes in Event: " << this->name << " differ in size. "
						"You either have to create another Event or resize the voxel to one size"
						<< std::endl;
				break;
			}
		}

//		create the tau voxel structure container that assigns a tau value to each _Voxel
//		in the _Voxel vector
		tv_vec.resize(vvc.size());
		for(size_t i = 0; i < tv_vec.size(); i++){
			tv_vec[i].v = vvc[i];
			tv_vec[i].t = 0.0;
		}
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %r8, %r13
movq %rcx, %r12
movsd %xmm0, 0x8(%rsp)
movq %rdi, %r14
leaq 0x25962(%rip), %rax     # 0x327b8
movq %rax, (%rdi)
movq %rsi, 0x8(%rdi)
leaq 0x10(%rdi), %rbx
leaq 0x20(%rdi), %rax
movq %rax, (%rsp)
movq %rax, 0x10(%rdi)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xd476
movsd 0x8(%rsp), %xmm0
movsd %xmm0, 0x30(%r14)
leaq 0x50(%r14), %r15
xorpd %xmm0, %xmm0
movupd %xmm0, 0x38(%r14)
movupd %xmm0, 0x48(%r14)
movupd %xmm0, 0x58(%r14)
movq %r13, 0x68(%r14)
movb $0x1, 0x80(%r14)
leaq 0x88(%r14), %r13
movupd %xmm0, 0x88(%r14)
movq $0x0, 0x98(%r14)
leaq 0x10(%rsp), %rsi
movq %r14, (%rsi)
movq %r13, %rdi
callq 0xd170
movq 0x58(%r14), %rax
subq 0x50(%r14), %rax
je 0xcf8a
sarq $0x4, %rax
movq (%r12), %rcx
movq (%rcx), %rdx
movsd 0x18(%rdx), %xmm0
cmpq $0x1, %rax
adcq $0x0, %rax
xorl %edx, %edx
movq (%rcx,%rdx,8), %rsi
movsd 0x18(%rsi), %xmm1
ucomisd %xmm0, %xmm1
jne 0xcf1f
jp 0xcf1f
incq %rdx
cmpq %rdx, %rax
jne 0xcf04
jmp 0xcf8a
movq 0x260a2(%rip), %rdi     # 0x32fc8
leaq 0x1792f(%rip), %rsi     # 0x2485c
movl $0x1d, %edx
callq 0x42f0
movq 0x10(%r14), %rsi
movq 0x18(%r14), %rdx
movq 0x26082(%rip), %rdi     # 0x32fc8
callq 0x42f0
movq %rax, %rbp
leaq 0x17925(%rip), %rsi     # 0x2487a
movl $0x58, %edx
movq %rax, %rdi
callq 0x42f0
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x4280
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4190
movq 0x8(%r12), %rsi
subq (%r12), %rsi
sarq $0x3, %rsi
movq %r15, %rdi
callq 0xd13c
movq 0x50(%r14), %rax
movq 0x58(%r14), %rcx
subq %rax, %rcx
je 0xcfdd
sarq $0x4, %rcx
movq (%r12), %rdx
cmpq $0x1, %rcx
adcq $0x0, %rcx
addq $0x8, %rax
xorl %esi, %esi
movq (%rdx,%rsi,8), %rdi
movq %rdi, -0x8(%rax)
movq $0x0, (%rax)
incq %rsi
addq $0x10, %rax
cmpq %rsi, %rcx
jne 0xcfc2
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xcff0
jmp 0xcff0
movq %rax, %r12
movq (%r13), %rdi
testq %rdi, %rdi
je 0xd00b
movq 0x98(%r14), %rsi
subq %rdi, %rsi
callq 0x42c0
leaq 0x38(%r14), %r13
movq (%r15), %rdi
testq %rdi, %rdi
je 0xd023
movq 0x60(%r14), %rsi
subq %rdi, %rsi
callq 0x42c0
movq (%r13), %rdi
testq %rdi, %rdi
je 0xd038
movq 0x48(%r14), %rsi
subq %rdi, %rsi
callq 0x42c0
movq (%rbx), %rdi
cmpq (%rsp), %rdi
je 0xd050
movq (%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x42c0
movq %r12, %rdi
callq 0x4510