// File: 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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq 0x6a42(%rip), %rdi      # 0x7fc8
movq 0x6a23(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq %rax, %rdi
leaq 0x3cbf(%rip), %rsi      # 0x525b
callq 0x10c0
movq %rax, %rdi
leaq 0x3cd2(%rip), %rsi      # 0x527d
callq 0x10c0
movq %rax, %rdi
movq 0x69f6(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq %rax, %rdi
movq 0x69e7(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x69f3(%rip), %rdi      # 0x7fc8
leaq 0x3ca6(%rip), %rsi      # 0x5282
callq 0x10c0
movq %rax, %rdi
movq 0x69c5(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq %rax, %rdi
leaq 0x3cda(%rip), %rsi      # 0x52d4
callq 0x10c0
movq %rax, %rdi
movq 0x69a7(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x69b3(%rip), %rdi      # 0x7fc8
leaq 0x3cf2(%rip), %rsi      # 0x530e
callq 0x10c0
movq %rax, %rdi
movq -0x8(%rbp), %rsi
callq 0x10c0
movq %rax, %rdi
leaq 0x3ce1(%rip), %rsi      # 0x5318
callq 0x10c0
movq %rax, %rdi
movq 0x696a(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6976(%rip), %rdi      # 0x7fc8
leaq 0x3cd1(%rip), %rsi      # 0x532a
callq 0x10c0
movq %rax, %rdi
movq 0x6948(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6954(%rip), %rdi      # 0x7fc8
leaq 0x3cf5(%rip), %rsi      # 0x5370
callq 0x10c0
movq %rax, %rdi
movq 0x6926(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6932(%rip), %rdi      # 0x7fc8
leaq 0x3cf1(%rip), %rsi      # 0x538e
callq 0x10c0
movq %rax, %rdi
movq 0x6904(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6910(%rip), %rdi      # 0x7fc8
leaq 0x3cda(%rip), %rsi      # 0x5399
callq 0x10c0
movq %rax, %rdi
movq 0x68e2(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x68ee(%rip), %rdi      # 0x7fc8
leaq 0x3d00(%rip), %rsi      # 0x53e1
callq 0x10c0
movq %rax, %rdi
movq 0x68c0(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x68cc(%rip), %rdi      # 0x7fc8
leaq 0x3d3d(%rip), %rsi      # 0x5440
callq 0x10c0
movq %rax, %rdi
movq 0x689e(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x68aa(%rip), %rdi      # 0x7fc8
leaq 0x3d7c(%rip), %rsi      # 0x54a1
callq 0x10c0
movq %rax, %rdi
movq 0x687c(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6888(%rip), %rdi      # 0x7fc8
leaq 0x3dc8(%rip), %rsi      # 0x550f
callq 0x10c0
movq %rax, %rdi
movq 0x685a(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6866(%rip), %rdi      # 0x7fc8
leaq 0x3e1a(%rip), %rsi      # 0x5583
callq 0x10c0
movq %rax, %rdi
movq 0x6838(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6844(%rip), %rdi      # 0x7fc8
leaq 0x3e74(%rip), %rsi      # 0x55ff
callq 0x10c0
movq %rax, %rdi
movq 0x6816(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6822(%rip), %rdi      # 0x7fc8
leaq 0x3ec4(%rip), %rsi      # 0x5671
callq 0x10c0
movq %rax, %rdi
movq 0x67f4(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6800(%rip), %rdi      # 0x7fc8
leaq 0x3efd(%rip), %rsi      # 0x56cc
callq 0x10c0
movq %rax, %rdi
movq 0x67d2(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x67de(%rip), %rdi      # 0x7fc8
leaq 0x3f2d(%rip), %rsi      # 0x571e
callq 0x10c0
movq %rax, %rdi
movl 0x6939(%rip), %esi      # 0x8138
callq 0x1190
movq %rax, %rdi
movq 0x67a2(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x67ae(%rip), %rdi      # 0x7fc8
leaq 0x3f6a(%rip), %rsi      # 0x578b
callq 0x10c0
movq %rax, %rdi
movq 0x6780(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x678c(%rip), %rdi      # 0x7fc8
leaq 0x3f73(%rip), %rsi      # 0x57b6
callq 0x10c0
movq %rax, %rdi
movq 0x675e(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x676a(%rip), %rdi      # 0x7fc8
leaq 0x3f9d(%rip), %rsi      # 0x5802
callq 0x10c0
movq %rax, %rdi
movq 0x673c(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq 0x6748(%rip), %rdi      # 0x7fc8
leaq 0x3fcd(%rip), %rsi      # 0x5854
callq 0x10c0
movq %rax, %rdi
movq 0x671a(%rip), %rsi      # 0x7fb0
callq 0x10e0
movq %rax, %rdi
movq 0x670b(%rip), %rsi      # 0x7fb0
callq 0x10e0
cmpl $0x0, -0xc(%rbp)
je 0x18b2
jmp 0x18b2
movl $0x1, %edi
callq 0x1110
nopl (%rax)