<?xml version="1.0" encoding="ISO-8859-1"?>
<!--doc: MAIN Settings for PamVMC -->
<!ELEMENT Main_settings (Init_mode_set, Random_mode_set, Primary_mode_set, Runtime_mode_set) >

<!--doc: Settings path for initialization files -->
<!ELEMENT Init_mode_set ( g4Config_path, g4Config_C_name,  g4Config_in_name, (use_pbs_jobcookie | dont_use_pbs_jobcookie), use_nocalo?, out_path, out_file_pattern) >
<!ELEMENT g4Config_path (#PCDATA) >
<!ELEMENT g4Config_C_name (#PCDATA) >
<!ELEMENT g4Config_in_name (#PCDATA) >
<!ELEMENT use_pbs_jobcookie (out_tmp_dir) >
<!ATTLIST Init_mode_set use_pbs_jobcookie  CDATA "0">
<!ELEMENT out_tmp_dir (#PCDATA) >
<!ELEMENT dont_use_pbs_jobcookie EMPTY >
<!ELEMENT use_nocalo EMPTY >
<!ELEMENT out_path (#PCDATA) >
<!ELEMENT out_file_pattern (#PCDATA) >

<!--doc: Settings random variables and path -->
<!ELEMENT Random_mode_set (read_g4_seed_filepath | generate_g4_seed) >
<!ELEMENT read_g4_seed_filepath (#PCDATA) >
<!ELEMENT generate_g4_seed (( (init_g4_seed1, init_g4_seed2) | auto_g4_seed), (save_g4rnd_in_file | dont_save_g4rnd_in_file) ) >
<!ELEMENT init_g4_seed1 (#PCDATA) >
<!ELEMENT init_g4_seed2 (#PCDATA) >
<!ELEMENT auto_g4_seed EMPTY >
<!ELEMENT dont_save_g4rnd_in_file EMPTY>
<!ELEMENT save_g4rnd_in_file (g4_rnd_path, g4_rnd_filename) >
<!ELEMENT g4_rnd_path  (#PCDATA) >
<!ELEMENT g4_rnd_filename (#PCDATA) >

<!--doc: Settings random variables and path -->
<!ELEMENT Runtime_mode_set (verbose_level, maxstep, save_condition, save_mode) >
<!ELEMENT verbose_level (#PCDATA) >
<!ELEMENT maxstep (#PCDATA) >

<!ELEMENT save_condition ( everything | trig_only | accept_only ) >
<!ELEMENT everything EMPTY>
<!ELEMENT trig_only EMPTY>
<!ELEMENT accept_only EMPTY>

<!ELEMENT save_mode ( all_detectors |  only_primaries ) >
<!ELEMENT all_detectors EMPTY>
<!ELEMENT only_primaries EMPTY>

<!--doc: Settings for primary particles -->
<!ELEMENT Primary_mode_set (read_from_file | define_primaries ) >
<!ELEMENT read_from_file (#PCDATA) >
<!ELEMENT define_primaries (particle_type, gen_mode, momentum_mode, momentum_units, nevents) >

<!ELEMENT particle_type ( kProton | H-2 | H-3 | He-3 | He-4 | user_pdg )>
<!ELEMENT kProton EMPTY>
<!ELEMENT H-2 EMPTY>
<!ELEMENT H-3 EMPTY>
<!ELEMENT He-3 EMPTY>
<!ELEMENT He-4 EMPTY>
<!ELEMENT user_pdg (#PCDATA)>

<!ELEMENT gen_mode ( dome | user_defined ) >
<!ELEMENT dome EMPTY>

<!ELEMENT user_defined ( vertex_mode, ang_mode ) >
<!ELEMENT vertex_mode ( vertex_fix_point | vertex_box ) >
<!ELEMENT ang_mode (  ang_fixed | ang_iso ) >

<!ELEMENT momentum_mode ( momentum_mode_fixed | momentum_mode_flat | momentum_mode_powerlaw )>

<!ELEMENT momentum_units ( GV_p | GV_R | GeV_T ) >
<!ELEMENT GV_p EMPTY>
<!ELEMENT GV_R EMPTY>
<!ELEMENT GeV_T EMPTY>

<!ELEMENT nevents ( nev_tot | nev_accept | nev_trigg ) >
<!ELEMENT nev_tot (#PCDATA) >
<!ELEMENT nev_accept (#PCDATA) >
<!ELEMENT nev_trigg (#PCDATA) >

<!--doc: Settings for primary shooting from fixed point -->
<!ELEMENT vertex_fix_point (x0, y0, z0)>
<!ELEMENT x0 (#PCDATA)>
<!ATTLIST vertex_fix_point x0 CDATA "0.">
<!ELEMENT y0 (#PCDATA)>
<!ATTLIST vertex_fix_point y0 CDATA "0.">
<!ELEMENT z0 (#PCDATA)>
<!ATTLIST vertex_fix_point z0 CDATA "130.">


<!--doc: Settings for primary shooting from fixed plane -->
<!ELEMENT vertex_box (x0_min, y0_min, x0_max, y0_max, z0_min, z0_max)>
<!ELEMENT x0_min (#PCDATA)>
<!ATTLIST vertex_plane x0_min CDATA "-40.">
<!ELEMENT x0_max (#PCDATA)>
<!ATTLIST vertex_plane x0_max CDATA "40.">
<!ELEMENT y0_min (#PCDATA)>
<!ATTLIST vertex_plane y0_min CDATA "-40.">
<!ELEMENT y0_max (#PCDATA)>
<!ATTLIST vertex_plane y0_max CDATA "40.">
<!ELEMENT z0_min (#PCDATA)>
<!ATTLIST vertex_plane z0_min CDATA "130.">
<!ELEMENT z0_max (#PCDATA)>
<!ATTLIST vertex_plane z0_max CDATA "130.">

<!--doc: Settings for primary shooting from fixed angle -->
<!ELEMENT ang_fixed (theta, phi)>
<!ELEMENT theta (#PCDATA)>
<!ATTLIST ang_fixed theta CDATA "0.">
<!ELEMENT phi (#PCDATA)>
<!ATTLIST ang_fixed phi CDATA "0.">

<!--doc: Settings for primary shooting isotropic angle -->
<!ELEMENT ang_iso (theta_min, phi_min, theta_max, phi_max)>
<!ELEMENT theta_min (#PCDATA)>
<!ATTLIST ang_iso theta_min CDATA "0.">
<!ELEMENT phi_min (#PCDATA)>
<!ATTLIST ang_iso phi_min CDATA "0.">
<!ELEMENT theta_max (#PCDATA)>
<!ATTLIST ang_iso theta_max CDATA "7.85398163397448279e-01">
<!ELEMENT phi_max (#PCDATA)>
<!ATTLIST ang_iso phi_max CDATA "6.28318530717958623">

<!--doc: Settings for primary shooting with fixed rigidity-momentum-energy -->
<!ELEMENT momentum_mode_fixed (P0)>
<!ELEMENT P0 (#PCDATA)>
<!ATTLIST momentum_mode_fixed P0 CDATA "1.">

<!--doc: Settings for primary shooting with flat rigidity-momentum-energy -->
<!ELEMENT momentum_mode_flat (P0_min, P0_max)>
<!ELEMENT P0_min (#PCDATA)>
<!ATTLIST momentum_mode_flat P0_min CDATA "1.">
<!ELEMENT P0_max (#PCDATA)>
<!ATTLIST momentum_mode_flat P0_max CDATA "2.">

<!--doc: Settings for primary shooting with power-law rigidity-momentum-energy -->
<!ELEMENT momentum_mode_powerlaw (P0_min, P0_max, gamma)>
<!ELEMENT gamma (#PCDATA)>
<!ATTLIST momentum_mode_powerlaw gamma CDATA "2.75">