// File: /workspace/github_cpp_makefile_star2_O3/lagoproject[P]arti/analysis/showers.cc
// Function: Usage(char*, int)
void Usage(char *prog, int iverbose=0) {
  cout << endl << "shower.cc, from ARTI     version " << VERSION << endl<< endl;
  cout << "  Check secondaries file and change shower Id. This allows to process secondaries" << endl << "  within the detector simulation and handle mini showers." << endl;
  cout << "  Usage: " << prog << " [flags] raw_file" << endl;
  cout << "    If 'raw_file' does not exits, switch to STDIN and use raw_file as" << endl;
  cout << "    basename for output file." << endl;
  cout << "    flags:"<<endl;
  cout << "      -s <type>       : filter secondaries by type: 1: EM, 2: MU, 3: HD"<<endl;
  cout << "      -a <n>          : Energy distribution of secondaries per type, with <n> bins per decade."<<endl;
  cout << "      -d <n>          : Distance distribution of secondaries per type, with <n> bins per decade."<<endl;
  cout << "                      : If normalization is also selected (-n) the distribution is weighted by the ring area."<<endl;
  cout << "                      : In that case, produce also a new file (dse) with the energy density distribution at ground."<<endl;
  cout << "      -n <a> <t>      : Normalize energy distribution in particles/(m2 s bin), <a>=detector area (m2), <t> = flux time (s)." <<endl;
  cout << "                      : Change distance distribution by normalizing by the increasing area of the ring (r, r+dr)." <<endl;
  cout << "      -c <obs_lev (m)>: Enable curved mode: x'y' will be converted to local coordinates xy"<<endl;
  cout << "                        Observation level (<obs_lev>) should be given in m a.s.l." << endl;
  cout << "      -g <file> <col> : Include geomagentic effects. Read  rigidities from column <R> of <file>. Default R= " << cGeoCdef <<endl;
  cout << "                        3=R_U, 4=R_C 5=R_L"<<endl;
  cout << "      -f              : Force analysis without enable curved mode (WARNING)"<<endl;
  cout << "      -v              : Enable verbose output (each -v increases verbosity level)"<< endl;
  cout << "      -?              : prints help and exits"<<endl << endl;
  if (iverbose) {
    // verbose help
  }
  exit(1);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x58a2(%rip), %rbx      # 0x7fc8
movq %rbx, %rdi
callq 0x2090
leaq 0x2b16(%rip), %rsi      # 0x524b
movq %rax, %rdi
callq 0x2120
leaq 0x2b29(%rip), %rsi      # 0x526d
movq %rax, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
movq %rax, %rdi
callq 0x2090
leaq 0x2b0f(%rip), %rsi      # 0x5272
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2b4a(%rip), %rsi      # 0x52c4
movq %rax, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2b6d(%rip), %rsi      # 0x52fe
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
movq %r14, %rsi
callq 0x2120
leaq 0x2b5d(%rip), %rsi      # 0x5308
movq %rax, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2b58(%rip), %rsi      # 0x531a
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2b87(%rip), %rsi      # 0x5360
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2b8e(%rip), %rsi      # 0x537e
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2b82(%rip), %rsi      # 0x5389
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2bb3(%rip), %rsi      # 0x53d1
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2bfb(%rip), %rsi      # 0x5430
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2c45(%rip), %rsi      # 0x5491
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2c9c(%rip), %rsi      # 0x54ff
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2cf9(%rip), %rsi      # 0x5573
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2d5e(%rip), %rsi      # 0x55ef
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2db9(%rip), %rsi      # 0x5661
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2dfd(%rip), %rsi      # 0x56bc
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2e38(%rip), %rsi      # 0x570e
movq %rbx, %rdi
callq 0x2120
movl 0x5894(%rip), %esi      # 0x8178
movq %rax, %rdi
callq 0x2210
movq %rax, %rdi
callq 0x2090
leaq 0x2e80(%rip), %rsi      # 0x577b
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2e94(%rip), %rsi      # 0x57a6
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2ec9(%rip), %rsi      # 0x57f2
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
leaq 0x2f04(%rip), %rsi      # 0x5844
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x2090
movq %rax, %rdi
callq 0x2090
movl $0x1, %edi
callq 0x2170