// File: /workspace/github_cpp_makefile_star2_O1/atfrank[P]PCASA/lib/Trajectory.cpp
// Function: Trajectory::showHeader()
void Trajectory::showHeader(){
  for (unsigned int i=0; i< title.size(); i++){
    std::cout << title[i] << std::endl;
  }
  std::cout << std::fixed;
  std::cout << std::setw(25) << std::left << "Atoms" << ": " << natom << std::endl;
  if (nframe == 0){
    std::cout << std::setw(25) << std::left << "Frames" << ": " << nframe << " ***Warning: Zero frames detected!***" << std::endl;
  }
  else{
    std::cout << std::setw(25) << std::left << "Frames" << ": " << nframe << std::endl;
  }
  std::cout << std::setw(25) << std::left << "Start Frame" << ": " << npriv << std::endl;
  std::cout << std::setw(25) << std::left << "Save Frequency" << ": " << nsavc << std::endl;
  std::cout << std::setw(25) << std::left << "Dynamics Steps" << ": " << nstep << std::endl;
  std::cout << std::setw(25) << std::left << "Degrees of Freedom" << ": " << dof << std::endl;
  std::cout << std::setw(25) << std::left << "Number of Fixed" << ": " << nfixed << std::endl;
  std::cout << std::setw(25) << std::left << "Time Step (ps)" << ": " << this->getTStepPS() << std::endl;
  std::cout << std::setw(25) << std::left << "Start Time (ps)" << ": " << npriv*this->getTStepPS()/nsavc << std::endl;
  std::cout << std::setw(25) << std::left << "Periodic Boundaries" << ": " << qcrystal << std::endl;
  std::cout << std::setw(25) << std::left << "4D Trajectory" << ": " << q4d << std::endl;
  std::cout << std::setw(25) << std::left << "Fluctuating Charges" << ": " << qcharge << std::endl;
  std::cout << std::setw(25) << std::left << "Consistency Check" << ": " << qcheck << std::endl;
  std:: cout << std::setw(25) << std::left << "Version" << ": " << version << std::endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xb0(%rdi), %rax
cmpq %rax, 0xb8(%rdi)
je 0x37d45
movl $0x1, %ebp
xorl %ecx, %ecx
movq 0x3b92e0(%rip), %r14    # 0x3f0fc8
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
movq %r14, %rdi
callq 0x4340
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl %ebp, %ecx
movq 0xb0(%rbx), %rax
movq 0xb8(%rbx), %rdx
subq %rax, %rdx
sarq $0x5, %rdx
incl %ebp
cmpq %rcx, %rdx
ja 0x37ce8
movq 0x3b927c(%rip), %r14    # 0x3f0fc8
movq (%r14), %rax
movq -0x18(%rax), %rcx
movl $0xfffffefb, %edx       # imm = 0xFFFFFEFB
andl 0x18(%r14,%rcx), %edx
orl $0x4, %edx
movl %edx, 0x18(%r14,%rcx)
movq -0x18(%rax), %rcx
movl $0x19, %r13d
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl $0xffffff4f, %ebp       # imm = 0xFFFFFF4F
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x62db(%rip), %rsi      # 0x3e06e
movl $0x5, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x63bc(%rip), %r15      # 0x3e163
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xc8(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl 0x78(%rbx), %r12d
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x625b(%rip), %rsi      # 0x3e074
movl $0x6, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x78(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r15
testl %r12d, %r12d
jne 0x37e5d
leaq 0x622b(%rip), %rsi      # 0x3e07b
movl $0x25, %edx
movq %r15, %rdi
callq 0x4340
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x61f7(%rip), %rsi      # 0x3e0a1
movl $0xb, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x62a5(%rip), %r15      # 0x3e163
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x7c(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x6184(%rip), %rsi      # 0x3e0ad
movl $0xe, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x80(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x6118(%rip), %rsi      # 0x3e0bc
movl $0xe, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x84(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x60ac(%rip), %rsi      # 0x3e0cb
movl $0x12, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x90(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x6044(%rip), %rsi      # 0x3e0de
movl $0xf, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x94(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5fd9(%rip), %rsi      # 0x3e0ee
movl $0xe, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
cvtss2sd 0x98(%rbx), %xmm0
cvtsi2sdl 0x80(%rbx), %xmm1
mulsd 0x5e66(%rip), %xmm0     # 0x3dfb0
mulsd %xmm0, %xmm1
movsd 0x5e4a(%rip), %xmm2     # 0x3dfa0
mulsd %xmm2, %xmm1
addsd 0x42f6(%rip), %xmm1     # 0x3c458
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
divsd %xmm2, %xmm0
movq %r14, %rdi
callq 0x44a0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5f37(%rip), %rsi      # 0x3e0fd
movl $0xf, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
xorps %xmm1, %xmm1
cvtsi2sdl 0x7c(%rbx), %xmm1
xorps %xmm0, %xmm0
cvtss2sd 0x98(%rbx), %xmm0
xorps %xmm2, %xmm2
cvtsi2sdl 0x80(%rbx), %xmm2
mulsd 0x5da7(%rip), %xmm0     # 0x3dfb0
mulsd %xmm2, %xmm0
movsd 0x5d8b(%rip), %xmm3     # 0x3dfa0
mulsd %xmm3, %xmm0
addsd 0x4237(%rip), %xmm0     # 0x3c458
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
divsd %xmm3, %xmm0
mulsd %xmm1, %xmm0
divsd %xmm2, %xmm0
movq %r14, %rdi
callq 0x44a0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5e80(%rip), %rsi      # 0x3e10d
movl $0x13, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x9c(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5e19(%rip), %rsi      # 0x3e121
movl $0xd, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xa0(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5dac(%rip), %rsi      # 0x3e12f
movl $0x13, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xa4(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5d45(%rip), %rsi      # 0x3e143
movl $0x11, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xa8(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
andl 0x18(%r14,%rax), %ebp
orl $0x20, %ebp
movl %ebp, 0x18(%r14,%rax)
leaq 0x5cde(%rip), %rsi      # 0x3e155
movl $0x7, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xac(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x41f0