gammasimtools 0.25.0__py3-none-any.whl → 0.26.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. {gammasimtools-0.25.0.dist-info → gammasimtools-0.26.0.dist-info}/METADATA +2 -1
  2. {gammasimtools-0.25.0.dist-info → gammasimtools-0.26.0.dist-info}/RECORD +122 -121
  3. {gammasimtools-0.25.0.dist-info → gammasimtools-0.26.0.dist-info}/entry_points.txt +2 -1
  4. {gammasimtools-0.25.0.dist-info → gammasimtools-0.26.0.dist-info}/licenses/LICENSE +1 -1
  5. simtools/_version.py +2 -2
  6. simtools/application_control.py +35 -7
  7. simtools/applications/calculate_incident_angles.py +0 -2
  8. simtools/applications/convert_geo_coordinates_of_array_elements.py +1 -2
  9. simtools/applications/db_add_file_to_db.py +1 -1
  10. simtools/applications/db_add_simulation_model_from_repository_to_db.py +1 -1
  11. simtools/applications/db_add_value_from_json_to_db.py +1 -1
  12. simtools/applications/db_generate_compound_indexes.py +1 -1
  13. simtools/applications/db_get_array_layouts_from_db.py +2 -6
  14. simtools/applications/db_get_file_from_db.py +1 -1
  15. simtools/applications/db_get_parameter_from_db.py +1 -1
  16. simtools/applications/db_inspect_databases.py +1 -1
  17. simtools/applications/db_upload_model_repository.py +1 -1
  18. simtools/applications/derive_ctao_array_layouts.py +1 -2
  19. simtools/applications/derive_mirror_rnda.py +1 -3
  20. simtools/applications/derive_psf_parameters.py +0 -1
  21. simtools/applications/derive_pulse_shape_parameters.py +0 -1
  22. simtools/applications/derive_trigger_rates.py +1 -1
  23. simtools/applications/docs_produce_array_element_report.py +2 -8
  24. simtools/applications/docs_produce_calibration_reports.py +1 -3
  25. simtools/applications/docs_produce_model_parameter_reports.py +0 -2
  26. simtools/applications/docs_produce_simulation_configuration_report.py +1 -3
  27. simtools/applications/generate_array_config.py +0 -1
  28. simtools/applications/generate_corsika_histograms.py +48 -235
  29. simtools/applications/generate_regular_arrays.py +5 -35
  30. simtools/applications/generate_simtel_event_data.py +2 -2
  31. simtools/applications/maintain_simulation_model_add_production.py +2 -2
  32. simtools/applications/maintain_simulation_model_write_array_element_positions.py +87 -0
  33. simtools/applications/plot_array_layout.py +5 -111
  34. simtools/applications/plot_simulated_event_distributions.py +57 -0
  35. simtools/applications/plot_tabular_data.py +0 -1
  36. simtools/applications/plot_tabular_data_for_model_parameter.py +1 -6
  37. simtools/applications/production_derive_corsika_limits.py +1 -1
  38. simtools/applications/production_generate_grid.py +0 -1
  39. simtools/applications/run_application.py +1 -1
  40. simtools/applications/simulate_flasher.py +0 -2
  41. simtools/applications/simulate_illuminator.py +0 -1
  42. simtools/applications/simulate_pedestals.py +1 -5
  43. simtools/applications/simulate_prod.py +1 -5
  44. simtools/applications/simulate_prod_htcondor_generator.py +1 -1
  45. simtools/applications/submit_array_layouts.py +2 -4
  46. simtools/applications/submit_model_parameter_from_external.py +1 -3
  47. simtools/applications/validate_camera_efficiency.py +0 -1
  48. simtools/applications/validate_camera_fov.py +0 -1
  49. simtools/applications/validate_cumulative_psf.py +0 -2
  50. simtools/applications/validate_optics.py +0 -13
  51. simtools/camera/camera_efficiency.py +1 -6
  52. simtools/camera/single_photon_electron_spectrum.py +2 -1
  53. simtools/configuration/commandline_parser.py +35 -2
  54. simtools/configuration/configurator.py +6 -11
  55. simtools/corsika/corsika_config.py +16 -21
  56. simtools/corsika/corsika_histograms.py +411 -1735
  57. simtools/corsika/primary_particle.py +1 -1
  58. simtools/data_model/metadata_collector.py +5 -2
  59. simtools/data_model/metadata_model.py +0 -4
  60. simtools/data_model/model_data_writer.py +13 -15
  61. simtools/data_model/validate_data.py +1 -3
  62. simtools/db/db_handler.py +19 -8
  63. simtools/dependencies.py +81 -38
  64. simtools/io/ascii_handler.py +4 -2
  65. simtools/io/table_handler.py +1 -1
  66. simtools/layout/array_layout.py +4 -12
  67. simtools/layout/array_layout_utils.py +226 -57
  68. simtools/model/array_model.py +1 -13
  69. simtools/model/calibration_model.py +0 -4
  70. simtools/model/legacy_model_parameter.py +134 -0
  71. simtools/model/model_parameter.py +24 -13
  72. simtools/model/model_utils.py +1 -6
  73. simtools/model/site_model.py +0 -4
  74. simtools/model/telescope_model.py +6 -11
  75. simtools/production_configuration/derive_corsika_limits.py +6 -11
  76. simtools/production_configuration/interpolation_handler.py +16 -16
  77. simtools/ray_tracing/incident_angles.py +5 -11
  78. simtools/ray_tracing/mirror_panel_psf.py +3 -7
  79. simtools/ray_tracing/psf_analysis.py +18 -19
  80. simtools/ray_tracing/psf_parameter_optimisation.py +0 -1
  81. simtools/ray_tracing/ray_tracing.py +6 -15
  82. simtools/reporting/docs_auto_report_generator.py +8 -13
  83. simtools/reporting/docs_read_parameters.py +2 -8
  84. simtools/runners/corsika_runner.py +5 -9
  85. simtools/runners/corsika_simtel_runner.py +3 -8
  86. simtools/runners/simtel_runner.py +0 -5
  87. simtools/runners/simtools_runner.py +2 -4
  88. simtools/settings.py +154 -0
  89. simtools/{io/eventio_handler.py → sim_events/file_info.py} +3 -3
  90. simtools/{simtel/simtel_io_event_histograms.py → sim_events/histograms.py} +25 -15
  91. simtools/{simtel/simtel_io_event_reader.py → sim_events/reader.py} +20 -17
  92. simtools/{simtel/simtel_io_event_writer.py → sim_events/writer.py} +84 -25
  93. simtools/simtel/pulse_shapes.py +7 -2
  94. simtools/simtel/simtel_config_writer.py +79 -36
  95. simtools/simtel/simtel_table_reader.py +6 -4
  96. simtools/simtel/simulator_array.py +4 -11
  97. simtools/simtel/simulator_camera_efficiency.py +4 -6
  98. simtools/simtel/simulator_light_emission.py +69 -24
  99. simtools/simtel/simulator_ray_tracing.py +4 -10
  100. simtools/simulator.py +7 -14
  101. simtools/telescope_trigger_rates.py +3 -4
  102. simtools/testing/assertions.py +84 -33
  103. simtools/testing/configuration.py +1 -2
  104. simtools/testing/helpers.py +2 -3
  105. simtools/testing/log_inspector.py +1 -0
  106. simtools/testing/sim_telarray_metadata.py +1 -1
  107. simtools/testing/validate_output.py +34 -23
  108. simtools/utils/general.py +37 -0
  109. simtools/utils/geometry.py +0 -77
  110. simtools/utils/names.py +5 -5
  111. simtools/visualization/legend_handlers.py +7 -6
  112. simtools/visualization/plot_array_layout.py +91 -16
  113. simtools/visualization/plot_corsika_histograms.py +143 -605
  114. simtools/visualization/plot_mirrors.py +1 -4
  115. simtools/visualization/plot_pixels.py +2 -4
  116. simtools/visualization/plot_psf.py +0 -1
  117. simtools/visualization/plot_simtel_event_histograms.py +4 -4
  118. simtools/visualization/plot_simtel_events.py +6 -11
  119. simtools/visualization/plot_tables.py +8 -19
  120. simtools/visualization/visualize.py +22 -2
  121. simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +0 -160
  122. simtools/applications/print_version.py +0 -53
  123. simtools/io/hdf5_handler.py +0 -139
  124. {gammasimtools-0.25.0.dist-info → gammasimtools-0.26.0.dist-info}/WHEEL +0 -0
  125. {gammasimtools-0.25.0.dist-info → gammasimtools-0.26.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gammasimtools
3
- Version: 0.25.0
3
+ Version: 0.26.0
4
4
  Summary: Tools for the Simulation System of the CTA Observatory
5
5
  Author-email: simtools developers <simtools-developer@desy.de>
6
6
  License-Expression: BSD-3-Clause
@@ -17,6 +17,7 @@ Classifier: Topic :: Scientific/Engineering :: Astronomy
17
17
  Requires-Python: >=3.12
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
+ Requires-Dist: adjusttext
20
21
  Requires-Dist: astropy
21
22
  Requires-Dist: boost-histogram
22
23
  Requires-Dist: ctao-dpps-cosmic-ray-spectra
@@ -1,127 +1,127 @@
1
- gammasimtools-0.25.0.dist-info/licenses/LICENSE,sha256=a2q6KVo33OrRL_7ZSk7BYOT8KkUNV3WAMZW8CHEDkDU,1548
1
+ gammasimtools-0.26.0.dist-info/licenses/LICENSE,sha256=WRI7Rs32O2161Mmnbugu9WKJkr_lIXMxEFdf_Kwp008,1548
2
2
  simtools/__init__.py,sha256=yvx0i5ygbllmMtF2Tzy7pohvhQNH_dBdj0Bt8bKFYpc,231
3
- simtools/_version.py,sha256=Kl3WY3DazpC5lEIaMkcNebxoUZL2q26hCV9RsV8iNxM,706
4
- simtools/application_control.py,sha256=8fFhUG2gbQd80mW-5C_LSM9zzr8H6TdhRf9ZJn99ZaY,5030
3
+ simtools/_version.py,sha256=qBDwIqO5NZ5LfJnfL26Fsfqo4yTvSO4KNqKuK6FQqcU,706
4
+ simtools/application_control.py,sha256=aXN_CjzteuP_WrzL1RR-_3EdaRXF2jLW5p4wev-xcLc,6079
5
5
  simtools/constants.py,sha256=3N5bc8MlMWRzcg8EeSJweoioEo_uhStMxAzdb85Apvw,966
6
- simtools/dependencies.py,sha256=lUB6S8Qy95ecnokcgsY_NmgNBznUtkpa9kjztxkswRY,7133
7
- simtools/simulator.py,sha256=HNulg-jR2mh1yHcr-DzC2GunWm0JnT7bHRauvMe5nO4,30463
8
- simtools/telescope_trigger_rates.py,sha256=_2NUG8UnhfpMGhaEDgHUOOdnweCUcRTrTOkGGYInHqo,3984
6
+ simtools/dependencies.py,sha256=-ycj4WUlkrr8UIcBYqlhD4UqRcueGDErwZLvcDxNHQU,8818
7
+ simtools/settings.py,sha256=rPltCYvpt8bb0juI3KuOmLNTXl1ij5Vjed0m9EwYSEg,5201
8
+ simtools/simulator.py,sha256=MNAQsDm1HzQ8D21XUfyPdxc0f_GSfGr3AWbLv_H90YY,30110
9
+ simtools/telescope_trigger_rates.py,sha256=noJi8jSM85lfvlhuayWE49BiQlKgvRdT_TY4RVuM3R8,3930
9
10
  simtools/version.py,sha256=zVXYJYK7Q9c7stKrbbeJekkIZ-KQkGrHUnnKiVxXd20,7246
10
- simtools/applications/calculate_incident_angles.py,sha256=utE5N6F_RjtNGxYx-HbAcQ4l6DtAmoZxYRgO7-jTM2g,6042
11
+ simtools/applications/calculate_incident_angles.py,sha256=T_xlwLTklxUP8V2VJTkKtbGSQeeBKvglYO_gqmeCS_8,5948
11
12
  simtools/applications/convert_all_model_parameters_from_simtel.py,sha256=ml3rLe9-nRdPQBARpssK9aU0StwQ27RaUa-_6H-ZlA0,11893
12
- simtools/applications/convert_geo_coordinates_of_array_elements.py,sha256=ALghVkw2ElrcqySz1teIeBhyzcMEoqDjDQO6bUw7cHw,5655
13
+ simtools/applications/convert_geo_coordinates_of_array_elements.py,sha256=JOPw3BQa2FgoYMDdlvd1u861CyjDtizAuPdmnI0iHC4,5614
13
14
  simtools/applications/convert_model_parameter_from_simtel.py,sha256=BRs_oOfXPpLV0XSWD0LMtrwJXn_JAGaj4CBWrc6Lm1c,3602
14
- simtools/applications/db_add_file_to_db.py,sha256=fHQCY3Y2hCuNacBLkPA1ug1XHTlfyevr1ZpWoePkVhA,5726
15
- simtools/applications/db_add_simulation_model_from_repository_to_db.py,sha256=unQ9us6IEa2G2u9hK1XkeHuC7G9kznqzHL3KWJ2qba0,4092
16
- simtools/applications/db_add_value_from_json_to_db.py,sha256=7BJ0A9lA11rVvpCw7blzxSePoijnJdptYM4xrXJe3og,3910
17
- simtools/applications/db_generate_compound_indexes.py,sha256=p3zxXRzM0S6GuQRDb4906r3Hc7ceM5xbZk2lnqjHJ-A,1485
18
- simtools/applications/db_get_array_layouts_from_db.py,sha256=dQOm1hj4NdfhIMO6ERTNy5Ybiypf7LnE49QWRS5w2aI,4856
19
- simtools/applications/db_get_file_from_db.py,sha256=ROGfmBjKkMQvpx9cx66nqC4VyO6EGnJNxBR-y8BWmeM,2458
20
- simtools/applications/db_get_parameter_from_db.py,sha256=PWPOh67StUx64ICeX8DwiUxdRvbrC4aprPGbGXm7xGc,5303
21
- simtools/applications/db_inspect_databases.py,sha256=eetmPqIJwFZCIY65hykSAvZ1ItkN6OvVDWb1MRZSps0,1987
22
- simtools/applications/db_upload_model_repository.py,sha256=StVJU6alEddTDWTqf_GPOla09A-roPudSbGk7xnGeFg,3484
23
- simtools/applications/derive_ctao_array_layouts.py,sha256=MTYrHjOkyzE8aBKeluGebibV9T7ZOocRF30GbHtzsbs,4134
24
- simtools/applications/derive_mirror_rnda.py,sha256=S_9fUZ1TQbKltX86IWhS_10_KDF1abtxaixGh1UUGms,8964
15
+ simtools/applications/db_add_file_to_db.py,sha256=UyRhXS_n8LjV-0FcIwu_hE88sWS4fzVThXIgMgwazSA,5695
16
+ simtools/applications/db_add_simulation_model_from_repository_to_db.py,sha256=pLM2-9rOnXm30Ef-r63G8CWRRkrNS4gnN9wy2hHCVhk,4061
17
+ simtools/applications/db_add_value_from_json_to_db.py,sha256=TXgyHj1_ZJLgJWsgDjjwvpZMZR5WDn7YHqHdzcihNYA,3879
18
+ simtools/applications/db_generate_compound_indexes.py,sha256=rhFJTpwABIE3iDzmufSb4kZmiNcLJoA7cxSy2_CjUQA,1454
19
+ simtools/applications/db_get_array_layouts_from_db.py,sha256=B_bivyM_TDAYJ6IYwX1L-sVq9YjdgbqWNiLB4LJK0_M,4695
20
+ simtools/applications/db_get_file_from_db.py,sha256=nNQ0bDnNhW9G0LogcfPixby62I0igkurKxlud22-2l4,2427
21
+ simtools/applications/db_get_parameter_from_db.py,sha256=39xujLKmvdzlRtMB_v891MlzF7--eENGhpvSpJssK00,5272
22
+ simtools/applications/db_inspect_databases.py,sha256=n_FLzynznyR2uQYjX1TYGpzncPt1sW9XyO9_ru9q1zw,1956
23
+ simtools/applications/db_upload_model_repository.py,sha256=paoc1oXbGvkg9-p7EX0APhmY1D7RffGa9uwv1Vldv-Q,3453
24
+ simtools/applications/derive_ctao_array_layouts.py,sha256=IlbSQMlbmrK8JKWlzhfXt5HqNnvysgFE0ajjbQjRKRY,4062
25
+ simtools/applications/derive_mirror_rnda.py,sha256=d11YZEEsGVAgTO4Zuw2oNi11c5Y8n3thLBTaXRTG00w,8927
25
26
  simtools/applications/derive_photon_electron_spectrum.py,sha256=-Drq6QPo7xXjGGmdDzGKJ6x1Byg9_jOaD-fSKG6CJQE,3988
26
- simtools/applications/derive_psf_parameters.py,sha256=x1HVRgsQeCtyuUejfdwXYpZ73wmJQU7_ZI3mfP5RAws,8049
27
- simtools/applications/derive_pulse_shape_parameters.py,sha256=D399tpUK2DQ_76I2GbVIf6DW-Mkh1WlcoPqFdesyddg,6243
28
- simtools/applications/derive_trigger_rates.py,sha256=4kdJjc7-pB2XiuEX9BHzbJ9XXBZ0vN0XITVtvQgq11k,2515
29
- simtools/applications/docs_produce_array_element_report.py,sha256=CW2s2JwT-LvsBNjgbJayEjR42oYx8grWs96zP_VR9LQ,2556
30
- simtools/applications/docs_produce_calibration_reports.py,sha256=sOmC6uNjFaawj26nqJa3GsWAnQd0F96W6WKm3gj7J0I,1575
31
- simtools/applications/docs_produce_model_parameter_reports.py,sha256=P1Uv4d4XFZA39x8l1Ee7jQ28Qe_n8jGiU9wg8hP1pbE,1933
32
- simtools/applications/docs_produce_simulation_configuration_report.py,sha256=EBqx1VDwUG_UQq_K_6DVz_aDOBxbiqb_PNob6UJ3bKA,1485
33
- simtools/applications/generate_array_config.py,sha256=8k3JvQNk0Stb-i1-WMpN4AL4FVWMg2uwhyNtIQ1WQXc,1877
34
- simtools/applications/generate_corsika_histograms.py,sha256=96FSduO6lFbo4mPJmU0Br85LeSBEDDBEMlo1SzxTIW4,11048
27
+ simtools/applications/derive_psf_parameters.py,sha256=8ixre0zOwFDDUIVnpIPLf4yj7-KPjo24HPKbQ4cZ2H4,8008
28
+ simtools/applications/derive_pulse_shape_parameters.py,sha256=0cLOjKuy4IUChfArBRUBHM9kluFq9KN85OCI1nLM8K4,6202
29
+ simtools/applications/derive_trigger_rates.py,sha256=kCfWclVjxOVFQA9DoaldKtlHx0bPST8IXfbfyXIv54I,2492
30
+ simtools/applications/docs_produce_array_element_report.py,sha256=cdh0irlojyXtbN1j2kyrtS3z8P4LCjiN198ho-jycvY,2438
31
+ simtools/applications/docs_produce_calibration_reports.py,sha256=aGSMf8eEVQ2eV1XSY0FJi_DEnev5xhi5H15YXEO8vco,1528
32
+ simtools/applications/docs_produce_model_parameter_reports.py,sha256=7KA1SylSIxd5AVxrJquMInk0XiIMOQ8i0zs--RRzVW8,1863
33
+ simtools/applications/docs_produce_simulation_configuration_report.py,sha256=jZqq7J5lBUahApeDLrQkq95ZhTPLu0jAvYSB8VhVulk,1438
34
+ simtools/applications/generate_array_config.py,sha256=VF49V-7iNCTj3DWq39h2HcGTEpWFrjbXiGAqjDUvOYk,1836
35
+ simtools/applications/generate_corsika_histograms.py,sha256=G51fgXgCbzqWWIWn5FO4KldHOnseGRJBe54JYzjjSc8,3603
35
36
  simtools/applications/generate_default_metadata.py,sha256=yll6cUGl87DhBiov3rQhIPBcT0NIui06oILChjSQAdE,2053
36
- simtools/applications/generate_regular_arrays.py,sha256=X192RvFs8m-GOj1z4Awu3Lu-NT8L23SujdKun3iZONs,3862
37
- simtools/applications/generate_simtel_event_data.py,sha256=An8efQclDJD2b-HzTUwqfXTIkRUsBVeq9q5M7MXE9BQ,9057
38
- simtools/applications/maintain_simulation_model_add_production.py,sha256=lBBm6F5EQJqS2FnNGceEZI6ogzZpxna5IOTBPbXNMmc,2412
37
+ simtools/applications/generate_regular_arrays.py,sha256=SQT8pdida-3BxPQoBytCUZLVSb3O-0RkSzGJS2lvMaA,2749
38
+ simtools/applications/generate_simtel_event_data.py,sha256=2nn43xYd-Dn3t3nZM-pHJbH9L1UJ-w_922dOuXStxwA,9029
39
+ simtools/applications/maintain_simulation_model_add_production.py,sha256=5493zG5nQuAhmQfGWuueR3_SrotiUz9Ux03DU3aw65s,2389
39
40
  simtools/applications/maintain_simulation_model_compare_productions.py,sha256=aD6eZq1RUMnE4J-AuNjuHCKy_vDmnFnhPCPO0wxshbA,3194
40
41
  simtools/applications/maintain_simulation_model_verify_production_tables.py,sha256=YpnP7EeaheV03KwW7ryEc4GHIqaEHOFkG-RqJOH64RE,1793
42
+ simtools/applications/maintain_simulation_model_write_array_element_positions.py,sha256=pf8YBQIK07FLXrsJur2y5uOExSe_yuv76Ssxe1_ATNE,2919
41
43
  simtools/applications/merge_tables.py,sha256=N7MGX-VD2tu72RWvSDEb1zfls6px-wqLU4t5Lbl9V6E,2656
42
- simtools/applications/plot_array_layout.py,sha256=x9IIj7sJrBz_SjKXXHEhZhN1QpMrQ1D3I5_dHCWqMoY,13494
44
+ simtools/applications/plot_array_layout.py,sha256=dAKkdAdVwQprL8RIK0iFf3M4du1nCpBuXPFVYiELABw,9542
43
45
  simtools/applications/plot_simtel_events.py,sha256=aIINMATBNEs5-K72ZyWVBLyd83-70eMjERMNKvknSUE,6787
44
- simtools/applications/plot_tabular_data.py,sha256=jsGBWFelKSD4TOI4WZHdez-mM9l666RLctJvqCkZfus,2691
45
- simtools/applications/plot_tabular_data_for_model_parameter.py,sha256=zBFY5Vb6ns_gWTQN9BLTzhq-7x3pvnzS6CC6LR6y_CM,3161
46
- simtools/applications/print_version.py,sha256=McMS3mEmUn11t_ExRhqd_G4S3p5ErbUuWWOLBREalFQ,1709
47
- simtools/applications/production_derive_corsika_limits.py,sha256=-rJpLGqODtuPhXCEd-1fWFfRefrjGE_5jQMFfwoDwBQ,5823
46
+ simtools/applications/plot_simulated_event_distributions.py,sha256=pDQ1n7CZWoVnqOWd1Mbry7Lsdm9OxEd8XnYseWVwL2I,1764
47
+ simtools/applications/plot_tabular_data.py,sha256=5oYpWpMgXthYZxbu2PNhyZXCfiMTILnYprPeSCUSv0A,2650
48
+ simtools/applications/plot_tabular_data_for_model_parameter.py,sha256=Rtmn9XGZRWyxDJ_XnV56NbeDJmF5u4OmPHFVGkoEdOY,3040
49
+ simtools/applications/production_derive_corsika_limits.py,sha256=gBMk2vQCugBOcL1y-kGv0Z68bdtuOigjTn8br2bDDQY,5800
48
50
  simtools/applications/production_derive_statistics.py,sha256=NT_EL-jUg151QrCY1E1NaBerpUg9caRWo1e4AUHSB7o,4771
49
- simtools/applications/production_generate_grid.py,sha256=L_LlHA3Uly6P3Rx4eaxVvPXz3Z8VAwNv_7XO6Hm2VXs,5824
51
+ simtools/applications/production_generate_grid.py,sha256=9HRSALRwxLBxYK0ZP9v7HxfMbeHpW6yl1w6X_J0gk6g,5783
50
52
  simtools/applications/production_merge_corsika_limits.py,sha256=sYOTG731ja0xW5p2Pq4dJdOuKwWi7MphASdZ-dg6osY,7588
51
- simtools/applications/run_application.py,sha256=XaDRG-1TptvMSXwNis1z_n43YqkEI_fVjZiTImjl6-o,3947
52
- simtools/applications/simulate_flasher.py,sha256=dTtvdkbb3NskiAS2J4AOUuETIN1jt-j09nDdw_8qrno,4695
53
- simtools/applications/simulate_illuminator.py,sha256=3UcrubHk_aErIsPW0rJTtlpXPnYlEZaqWBuF1IW-0go,4220
54
- simtools/applications/simulate_pedestals.py,sha256=n5zsHu4Y9wZdnmI191v-bXJdAZg1doIk9HFMS-xR66o,3724
55
- simtools/applications/simulate_prod.py,sha256=vqGd4KPuWgvJtF0p0H0K0H4YfiPezjUNmUqRAcYqdqA,5346
56
- simtools/applications/simulate_prod_htcondor_generator.py,sha256=MZc6BuhB5UO_b-j7x4ag_3Jf3Cii2YAvghOd17ZaQOY,3367
57
- simtools/applications/submit_array_layouts.py,sha256=xlIG3kAJZtSOr1RHeMCfOn9Y-7fi49ppLUJS_pQgfFA,2863
53
+ simtools/applications/run_application.py,sha256=2cyZYsO4a5Q1fy19CY9awmURWU_JPGzhIDd9g3qIBgk,3924
54
+ simtools/applications/simulate_flasher.py,sha256=etikNrgk1Tr9j000aCwq87P_9Foof4MWaVz7eMdFFfU,4605
55
+ simtools/applications/simulate_illuminator.py,sha256=Bfi5WJSWgwwvD4a1Gzm5m38nF4E0rd6X0jwNtrzv1M8,4179
56
+ simtools/applications/simulate_pedestals.py,sha256=PyanXAX2CKwL4qeU2t97ATVLnuN-fzeP6-RNjIaBe4M,3660
57
+ simtools/applications/simulate_prod.py,sha256=ZtETPWKncLqFDHXWi3k4SXc4WVjdO66z4YuZlWZ0V0E,5282
58
+ simtools/applications/simulate_prod_htcondor_generator.py,sha256=S_j6laMzFfz105K-77ANX-XzJNJgyZiIk-pCC59sKIQ,3373
59
+ simtools/applications/submit_array_layouts.py,sha256=vZGfcHLX0Q-3PHCTfKciA2jc4DI7k_DhXtJg9B_L9vA,2785
58
60
  simtools/applications/submit_data_from_external.py,sha256=4uXI_JSKNpQkSbuUfEWQgtvH-on7nffIgQHbpzjN0Bc,3043
59
- simtools/applications/submit_model_parameter_from_external.py,sha256=UwpSclpjBXN2Vu8aQzHHRffj-Tt3M2IxqIcTnviRwuM,3754
60
- simtools/applications/validate_camera_efficiency.py,sha256=sPmIiQYQM9ewco2ExKI_QJ_nL1wjwmY5NOSN6Us0Wjk,4949
61
- simtools/applications/validate_camera_fov.py,sha256=hU_Ul_E3c_Hl-dKLIlzZPgWyDillNOJsLpQu7_L3f44,4535
62
- simtools/applications/validate_cumulative_psf.py,sha256=yeki5GV0vFX6P5yuMCAPkfFI2C_S8OjrfZlSpn2ol00,6430
61
+ simtools/applications/submit_model_parameter_from_external.py,sha256=GcVrItLTU1_mWy9GKaHD_Olvsm4u5CD7tT7g9NRumVg,3732
62
+ simtools/applications/validate_camera_efficiency.py,sha256=61B9cybO-7jT9DznZmOEEGwYaQHVmncXXKjb-YK2cXA,4908
63
+ simtools/applications/validate_camera_fov.py,sha256=ZQt83TCAB51k6LuIW50-vGL4huPrUiLRfldCjmR-0Fo,4494
64
+ simtools/applications/validate_cumulative_psf.py,sha256=TlKoBVsixPfwJgCoX_khI1MMWB2w22n9OS9EHAcCU4U,6336
63
65
  simtools/applications/validate_file_using_schema.py,sha256=W1om-MHJA105NAOkRMZ4q7HNjfw7E9Xh8ExZrvic17A,4455
64
- simtools/applications/validate_optics.py,sha256=7daD4S_9kze-MkmPUioekde3cgkmtfLVbl1CbqC6mYY,6451
65
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=MG7F0_QTEjt2_1rryyVTDDjR9rHHWOGDHuP0fAVWolQ,5172
66
- simtools/camera/camera_efficiency.py,sha256=DMw438cJ6gcnZyXHuTDAohk5duCF8EWpCqnE93FXziA,18927
67
- simtools/camera/single_photon_electron_spectrum.py,sha256=eQTpmy8NH8v5kkrlFjYmlIQhqcDwXHy44q-59PtXZEI,11572
68
- simtools/configuration/commandline_parser.py,sha256=ZSrtN5FRHn-qM5s3fKEhXnVqFbXacXE3VmWX_Q9nUfM,28016
69
- simtools/configuration/configurator.py,sha256=sxaXZNbEb2Lli9092vmXsp6L0hbxZM9dZ6WtC25QYdw,14788
70
- simtools/corsika/corsika_config.py,sha256=P_RjtTl2AHXBHKkvM5EGIGKIiUIMkkmGz2HV2jUknuA,34207
71
- simtools/corsika/corsika_histograms.py,sha256=nbxSoAj_oW3KABfo46ioj9W2VpXKWKw5mOiMeb1nGjs,70524
72
- simtools/corsika/primary_particle.py,sha256=WK0UKYtdPSefes286ZGXsoGV9r6JqH19Tk9myza_plU,6613
66
+ simtools/applications/validate_optics.py,sha256=uS1jdc-jnRZ8aXqq7HatBX5BvbTmqMBImJfdkzxIFb0,5891
67
+ simtools/camera/camera_efficiency.py,sha256=4spLfZbq8eDzg45PxaQoy7ZoaWSuFB3A1t7IEfaTQTI,18721
68
+ simtools/camera/single_photon_electron_spectrum.py,sha256=M8n58edvTEcW7GtHqXtU0vPwISdb8hw4kxjOia4qwJ4,11593
69
+ simtools/configuration/commandline_parser.py,sha256=gujxzJZLd21JhIwFCRcKVtbsdvRDqPTCg8mElgpDKN8,29301
70
+ simtools/configuration/configurator.py,sha256=FonVxlnyNbCorb11FERiBvsC3h5TVHlVSpLNQC1OsSU,14539
71
+ simtools/corsika/corsika_config.py,sha256=otLidGUHFD57KXevgFzzNqRJly7LO8rvTwRtylvm8KQ,33951
72
+ simtools/corsika/corsika_histograms.py,sha256=2ugTQHObQPghnCePaXDzaLuOyzAjGdhFIuR5KSdhu_c,20977
73
+ simtools/corsika/primary_particle.py,sha256=HxpfPu8untscXRf8KZTrNGHAcmhn_wmgQQmRg3GupV4,6611
73
74
  simtools/data_model/data_reader.py,sha256=abqVujfDYu1SHbMhpqRA851_WDWZr2SOoi35p0hZ_7s,4051
74
75
  simtools/data_model/format_checkers.py,sha256=bXF9dItkpZCGXAHdCH7vhgxEsIhXLLVFLOha-hKRspY,1949
75
- simtools/data_model/metadata_collector.py,sha256=31j1l6Kl3gzVfpWql0ft-Dl0uvsBc0nF18oN9hp849Q,23513
76
- simtools/data_model/metadata_model.py,sha256=wH52gC6MdwFw9A6UswZLsRlss7vbXDyxybBaI_UMt18,4642
77
- simtools/data_model/model_data_writer.py,sha256=MaVZVQP6YVei493DFMIkj41eIlXZCJNlaObwv-iUspY,17192
76
+ simtools/data_model/metadata_collector.py,sha256=UbzivfylhOtlTvB8QmP8_qsrLs2Zzb_oXRTiVX8vWYQ,23739
77
+ simtools/data_model/metadata_model.py,sha256=THuKbkhNlRGTS1W1Lhp8_hun6D2yXo1iEgK4DzfaMOY,4587
78
+ simtools/data_model/model_data_writer.py,sha256=7Iztw4brC-a99JurpHOAsrHYlpmsFP8QKAgKtnT9dqo,17169
78
79
  simtools/data_model/schema.py,sha256=VkmWByIY9fkRMbCJRBLlg-G33deGHYPs0AShTv23f6Q,14257
79
- simtools/data_model/validate_data.py,sha256=7S-cxzXUvDaQCCWyvV7QTx50pt7eHmuVC9jzBM2z9kk,32566
80
- simtools/db/db_handler.py,sha256=ACBqi0k-4fqbq9gMmLg1wEa4LWWTXQuZQjoBg3VIjks,29418
80
+ simtools/data_model/validate_data.py,sha256=1j2EDdz2Fk8OzRxdOoGNbrat3BVThSBoR8lRi0IvTrQ,32519
81
+ simtools/db/db_handler.py,sha256=prIb8KqaphUrfQYRY4BjIHZ3Oj-AFoMtKY9SEseeSqQ,29722
81
82
  simtools/db/db_model_upload.py,sha256=zHPmvNM5QG4BTIfHFCo3qJn8f5pnuNScdKKOUGQORnc,11872
82
83
  simtools/db/mongo_db.py,sha256=Efgxk_0dJMnwW6fPaPbEfvNU2tEbJcDDTlVTGwqTkxQ,19393
83
- simtools/io/ascii_handler.py,sha256=S2fP2x6vE4nEF5g0NRARIWKs8vKU3c9SW8XtcdrwhQU,7826
84
- simtools/io/eventio_handler.py,sha256=_72U8n6bikGrd9rFlimHOU7-mBaDtTdozkE4Bb5hJBw,4004
85
- simtools/io/hdf5_handler.py,sha256=Jnya-FMhmt_jQHIMQawUZrJA6S3QFo1BGGVt2Jaj89g,4177
84
+ simtools/io/ascii_handler.py,sha256=Dul2vmc32cXn_f0URHJqTT86so-qfB9rdunfokQuBNs,7842
86
85
  simtools/io/io_handler.py,sha256=qC4-htBLvHcHgHfsZeDJllevadpMBN7KtFPnuHSXrpI,3439
87
86
  simtools/io/legacy_data_handler.py,sha256=ZJunKgO0gjCLHtBqVtYUAiD88ouJio1_w_XJHjjp_6U,1260
88
- simtools/io/table_handler.py,sha256=YJqbam9sBjKAhHDyzFd0X0duWT1jnYPyk0La9Gp2jeo,10713
87
+ simtools/io/table_handler.py,sha256=F6nRzdHYVkRhfcpS9SkIWwufyuviFW0RdJ2Q2JrqyMo,10714
89
88
  simtools/job_execution/htcondor_script_generator.py,sha256=np_mPnu8HdTQdTlb_MpTsNcBa9g6K3PJfJ1mmLiL2xE,4179
90
89
  simtools/job_execution/job_manager.py,sha256=xWZlf1t6RuKvTEp1nNkNkkrUtR6smulxGfV8_WN_vG8,4716
91
- simtools/layout/array_layout.py,sha256=sk1yIEEBx2MlbNyISe6K7vnmQuyp-QAuoFPF0U6nDRo,25073
92
- simtools/layout/array_layout_utils.py,sha256=ueieDAWw9wi4E4eMWRGR4yQ2RAfu6amFAwYrF-gXZfg,12581
90
+ simtools/layout/array_layout.py,sha256=SMVEsP5h4ngP1JP6phBCktQ4t1fh0EC1i3Rww290fHM,24879
91
+ simtools/layout/array_layout_utils.py,sha256=yQ6sEAfJisGDEgFenM3NtLJ1ErVbPpz7JC8m6npwTRo,18564
93
92
  simtools/layout/geo_coordinates.py,sha256=9kKnXFi9vrfYKG_9elzFuzzssGFEUzxMubaclITkW_g,5944
94
93
  simtools/layout/telescope_position.py,sha256=tXXf2_kr6ouPrDXWx20vf6c-yEo11AjN8_gJ2EwL5-g,20097
95
- simtools/model/array_model.py,sha256=q_ZWTwGyxGw1x_IS2-VjbKUMnELYtzs6oVqpne-1kOg,18942
96
- simtools/model/calibration_model.py,sha256=omSgM2CIMh7HB2Bnm3OFjvWRMNBfkpGd6AnYayAEGiY,1563
94
+ simtools/model/array_model.py,sha256=FImtscin64SnPLpKIQSZpL8r-nr5fupsasO6LVAoZ8s,18568
95
+ simtools/model/calibration_model.py,sha256=KRTrnT-XwuJ401h2n76I93xFwzMnakjEeeKBJTlGeTI,1459
97
96
  simtools/model/camera.py,sha256=ewqhjovhxIX8a2hEHzxqZy2Mcfp621xk2nikxGDXDO4,21381
97
+ simtools/model/legacy_model_parameter.py,sha256=HJRrOwpA0meArmIdkmfsba_EvOx3Ed9MaJuFEppcsog,4573
98
98
  simtools/model/mirrors.py,sha256=g0eS4qFzUmo9UIakC4CDo7ourAGuFd3EfzL9RdrF9zg,9098
99
- simtools/model/model_parameter.py,sha256=mUaNsoPTrGyzYUVtWBwbn8dQzJiaOS861Y5CoBtD6F0,22796
99
+ simtools/model/model_parameter.py,sha256=83ps869Hv3v5sqQ09KU1CQgev5z0ATijKm0RNl6o5vc,23468
100
100
  simtools/model/model_repository.py,sha256=32B4CaZgSZuWj9GckmfwBhKVApd3UikL_hsfjtuDs0k,18557
101
- simtools/model/model_utils.py,sha256=OUHsOKOhXDVCTRpSRCO4iJZncUB_6hy0uUaF2AeooI0,2963
102
- simtools/model/site_model.py,sha256=ueu1t_fkpTZ-OnMYVlJyKbfySkqn_tVQN90NcyzSrTw,7060
103
- simtools/model/telescope_model.py,sha256=No2BtJu5flgMTP6QoSwfsGd6RXfqabOobqvtftQlek0,14432
101
+ simtools/model/model_utils.py,sha256=Bmq2YinuK__s9rmaQMOPbRo9GxkW3cE1IuCYPc5OUxc,2809
102
+ simtools/model/site_model.py,sha256=6iiysPzz9nbCXQJ2C5r23D3r1N9m10WuK-UCnq5x-Wk,6956
103
+ simtools/model/telescope_model.py,sha256=7anPhYV7T_UBRqT8vWMqRCJLIcbi6GfM8oVE_O6xXKA,14286
104
104
  simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py,sha256=ahUJYM4SWZAAk4qXTQlBEkhmLfZRntXRaTG6FmL3tNs,15503
105
- simtools/production_configuration/derive_corsika_limits.py,sha256=j0qQYlWBY112Jfr9ZH7Yq6ud-nsLRbBV6B5xoTLuNZw,10546
105
+ simtools/production_configuration/derive_corsika_limits.py,sha256=HJp3OPa9HsYrQrD6ek1aMphNM4AR_oZQc8xCYPm-6y4,10387
106
106
  simtools/production_configuration/derive_production_statistics.py,sha256=njjQuKgm-yRvykLLuivXF3cmCduAYKunvL13KbEWjQ0,5716
107
107
  simtools/production_configuration/derive_production_statistics_handler.py,sha256=WPo29fUMjHFgQKu4AL01XrzIx4d846ddezdtLpH4USU,6187
108
108
  simtools/production_configuration/generate_production_grid.py,sha256=DlR2hqyG0jU1yU21QU38ucAdmHZWPa7snFW26vmGEuI,13323
109
- simtools/production_configuration/interpolation_handler.py,sha256=CWJa9WfBhHLTJDnNODzU3GxU7fF6ni_fNPS-UwGyzxo,14095
109
+ simtools/production_configuration/interpolation_handler.py,sha256=hEEvuFncDd4iiGXiQSNmLYbjCp6dSvj4Oct1qCgff5Q,14045
110
110
  simtools/production_configuration/merge_corsika_limits.py,sha256=t9JDvrpkP33ISCRCPVLE8GunjHDF_RYlRPqXI469l0w,20838
111
- simtools/ray_tracing/incident_angles.py,sha256=sbrj20XAikRH_jH-tW88PQveT97w9mdAzVjvp0OsAns,25967
112
- simtools/ray_tracing/mirror_panel_psf.py,sha256=0TGSkeXmRSo25mIhoNqrEQJgMWK-oPk7TT-8VkuMsxc,11267
113
- simtools/ray_tracing/psf_analysis.py,sha256=imSFCWSyRfcpqLMeSIwOoDWVwzLlHlnT7N0y6Qi2V2s,18290
114
- simtools/ray_tracing/psf_parameter_optimisation.py,sha256=wH3IwL4TIrB9UprjXzj2YGJul_wHgrsMAXode2j-cBU,51621
115
- simtools/ray_tracing/ray_tracing.py,sha256=gPnhEBPlSE51jt3k3brvtuJZQT4MejPeqQm1alLaUqU,21959
116
- simtools/reporting/docs_auto_report_generator.py,sha256=Ee-zBf4pQahaN4RYv2aN_UEngFVMbzVqr_X3l_Q2vy8,14098
117
- simtools/reporting/docs_read_parameters.py,sha256=3BQ22fs8_1-23VO6vwgf7WVuJJ0qUHz_fhl88gB3W4E,41624
111
+ simtools/ray_tracing/incident_angles.py,sha256=r4TgQFG3vs7n1Y0FVWnjVUI__9IDC4rQEJHhJ2wZxzM,25585
112
+ simtools/ray_tracing/mirror_panel_psf.py,sha256=ug416rpekNEH4lClHkBMXYXy1uMBUnJIv9VFpaA4ciY,11073
113
+ simtools/ray_tracing/psf_analysis.py,sha256=PLqXMGRmT-Pw_NLLcOQ7YIWKBjEjoEDIN4TZFNvb7Ck,18249
114
+ simtools/ray_tracing/psf_parameter_optimisation.py,sha256=HJg26wKS9JoQDZYtoIHVHP8PWAZbpqEB9khJTOOTbUM,51575
115
+ simtools/ray_tracing/ray_tracing.py,sha256=YNuY1r6iapciMA6_-G9r8Kptbylbt3d1jC5S2X7SqPw,21655
116
+ simtools/reporting/docs_auto_report_generator.py,sha256=HDNYOTFv4YX7h_PLcJPpMOOiXCUoD7tRZl3a3qpugds,13877
117
+ simtools/reporting/docs_read_parameters.py,sha256=YWsd14t87Wn9u5MryvB78UEkn4k6lTtVGj-QlcddLcg,41353
118
118
  simtools/resources/array-element-ids.json,sha256=W8cijMEmHJ28RLIyixVVdHr16-iUbIuURT9QIoIzCoY,4566
119
119
  simtools/resources/array_elements.yml,sha256=MG-TyocXQCj6htA8af4nBzCxcfFZHs1XXtSfSl4kmBo,4285
120
- simtools/runners/corsika_runner.py,sha256=mDD4_YtwIm8wvQtBTGBCrqtlj9sMKR-CZZpWmS2hy_0,9667
121
- simtools/runners/corsika_simtel_runner.py,sha256=cki9Cc0wNo6zErrWJRkV-V-_J3g3eIboljiYg5clgFc,7795
120
+ simtools/runners/corsika_runner.py,sha256=HjisgnXbOrkdSwxaFQzzgSgw0Umbd3sZW1nBzdndYjU,9466
121
+ simtools/runners/corsika_simtel_runner.py,sha256=qG3LN5J3jjEBhGFCjHOYd2GUArGXepQxUoqpXb82bok,7603
122
122
  simtools/runners/runner_services.py,sha256=_UhgQOOsIFpF2fiB6C7WhQA8jPIZhafzGbuErvlLLXI,10774
123
- simtools/runners/simtel_runner.py,sha256=BAgVGLIbPbkGxxPu1ZtFFwIlYv7o84STdVkgFdky4jY,6581
124
- simtools/runners/simtools_runner.py,sha256=i9E50ha1-vOy5yRSP6BbjuP5PaHKLLj2rD74Pzah2cg,8262
123
+ simtools/runners/simtel_runner.py,sha256=Crje4MCZ8wCtd7IoxxXeAQ_OrZU4xNI-WRmz5rCqLDA,6413
124
+ simtools/runners/simtools_runner.py,sha256=sU4uyIdP9hGvNQZYMYB5fd01gfzvSaZ1kGTXLqcfw7M,8188
125
125
  simtools/schemas/application_workflow.metaschema.yml,sha256=Gd2YIXT7DgdnlP0P-08ywGlle3RMhFqdPcHdrxNw6Gk,5657
126
126
  simtools/schemas/common_definitions.schema.yml,sha256=_vzwIM-qIqi32HrjMHIH0dO0STeCZFsAIli6acFol7Y,1180
127
127
  simtools/schemas/metadata.metaschema.yml,sha256=bgsIFwBlaC9HGNN8hlMSy2vMwwnG2DEfprXZuxfU2Kk,33556
@@ -377,42 +377,43 @@ simtools/schemas/model_parameters/transit_time_random.schema.yml,sha256=M9VdVDXo
377
377
  simtools/schemas/model_parameters/trigger_current_limit.schema.yml,sha256=WTz-6fNrY9RSyVmAM7R7Bz-1gT0aJtl7GZ2urtDNEsk,677
378
378
  simtools/schemas/model_parameters/trigger_delay_compensation.schema.yml,sha256=U8ctXld0Ukz3JaVR0UGlxewzk-4RlsE3Gdq0hMW4qfQ,1476
379
379
  simtools/schemas/model_parameters/trigger_pixels.schema.yml,sha256=3-n2PBl9LQ4PBVOgR__XQpFYGUYYS_Jju_pvGSucTq8,1012
380
- simtools/simtel/pulse_shapes.py,sha256=Z4Lz1EnwHZ4fwiWJrZPYOuQU1Khds0_-_pDjTpzvAyw,8224
380
+ simtools/sim_events/file_info.py,sha256=nSG0z_b9Exgh6Enfs8oycKSuPZ_9o3rvBomxh8HWR0Q,4014
381
+ simtools/sim_events/histograms.py,sha256=4IP9_JwKltdmHIabx5G7M0u32hKQJQ0jYUS8oP_62Zk,18153
382
+ simtools/sim_events/reader.py,sha256=6fldNvZKsXCRxq8oZ23JPScNWuqFOlp9eJ3lr0NayNI,14926
383
+ simtools/sim_events/writer.py,sha256=2jn2-ED47ngLHOS0QFcKkjc5H8Kk9D7EtXGppDpJi38,15066
384
+ simtools/simtel/pulse_shapes.py,sha256=iWN_sUKw82kn0NARmgk4BgJcKeVChNgv3Ei6cNXw95s,8412
381
385
  simtools/simtel/simtel_config_reader.py,sha256=_R1eLpZPqSu2MbiEfN1zYTdr8jJl1uameGyaxupACe0,15005
382
- simtools/simtel/simtel_config_writer.py,sha256=TFRaXXIPNLrOc2GHm8wrA2e_KeXUlyP4P6ZGSNHtl4s,34234
383
- simtools/simtel/simtel_io_event_histograms.py,sha256=M0EnmiS9AbzwLyZapkP2JJc3Dze40NoPTHKtWHxe1kg,17688
384
- simtools/simtel/simtel_io_event_reader.py,sha256=YPP4Cs4NncTIXxbu40veksnJ_3_cZ00-56kGoEuR8so,14595
385
- simtools/simtel/simtel_io_event_writer.py,sha256=uX_YGkH4orqQrtrowVZ-LQ96fumHMTFOHffi5EwUpLM,12749
386
+ simtools/simtel/simtel_config_writer.py,sha256=8aYUAslOlftiQFMrHBES0XzHhQmlVENNSMH7qnH59Kk,35842
386
387
  simtools/simtel/simtel_io_metadata.py,sha256=1BA32c-wHVD2MMfrXYdQuYPq2uPDyWBIpNGbwRMwjtc,6084
387
- simtools/simtel/simtel_table_reader.py,sha256=m4h74MuvnA15q1-4-esypvBKYPyeZS-1CqdvyJ4HVXc,15101
388
- simtools/simtel/simulator_array.py,sha256=BcUuYN6fwgZnMWzu2H22LAmvAXqpHd9a2AtnajI0N2E,10545
389
- simtools/simtel/simulator_camera_efficiency.py,sha256=BQg1dAD7sqCJitBJiGSk7VOZCjF01OeUXk5qyh_0I18,11730
390
- simtools/simtel/simulator_light_emission.py,sha256=kk3MiZDANfS2b9WLvetNCg6aPQUliZ1im2Qoamjn_zQ,21944
391
- simtools/simtel/simulator_ray_tracing.py,sha256=ssgcFMSFZNIwzDeHuo7-fN-djNbru59a2pK-iZL33KA,11525
392
- simtools/testing/assertions.py,sha256=Edl0QaKeQENnvfWN1EVl1kAk42JQlB5Qjc9xQ_sKmnI,8031
393
- simtools/testing/configuration.py,sha256=GjWrFqWzLRd6UG9kCEv0XzdRNcBbN3Zc7aGjoBFls3c,8273
394
- simtools/testing/helpers.py,sha256=LTVlkt36gQ0AtIK2mN6toI3vxwUPCjV5VMLA0nkS07U,1829
395
- simtools/testing/log_inspector.py,sha256=ZN-X52i1HLP7jGvw-8PYex23U64QwpvYPw8-OvVbhCc,1535
396
- simtools/testing/sim_telarray_metadata.py,sha256=gcrmn93HPH3bLZdyjnBRZ_MZs4mA51mbQnBltKt1hhI,7937
397
- simtools/testing/validate_output.py,sha256=ReaScg16pVXDZ7CX3AnGL7MHfA9uyE8zTe1xEjkP5Bk,14675
398
- simtools/utils/general.py,sha256=SNZNCzDnN2V-IbPsM5eqH6gcyuCf2lwx32vlAvuZhdQ,24000
399
- simtools/utils/geometry.py,sha256=VZlovI6E6p6EloqeM9kJ-YgbilZ_4dNIwoJ97evP5B0,9098
400
- simtools/utils/names.py,sha256=zujnLpGAoHQuCub1SmMv305sTNFSPSyey_QZjSHjdT0,21853
388
+ simtools/simtel/simtel_table_reader.py,sha256=iEufa1nb7dtxlMlLlkqjLFqpkTA9WAaPKiwARVrWPXM,15127
389
+ simtools/simtel/simulator_array.py,sha256=-BoeQ3JJk3_yvdm0Q7wF_DOSZU2kbkXl3GmYIVdjuuw,10300
390
+ simtools/simtel/simulator_camera_efficiency.py,sha256=H4auL2a1F2MMJXxiafTc6V5ztD1bL1e-SHcDVgV0Ggw,11623
391
+ simtools/simtel/simulator_light_emission.py,sha256=SoSsrOfmmSA8m0XEQeK2oU-2V1qMHJFKbN8CcPO0CDk,23702
392
+ simtools/simtel/simulator_ray_tracing.py,sha256=GRDWKo5YtJHG1a6r4hUeTnJ24ZxstPmMTkyitG4Ixes,11200
393
+ simtools/testing/assertions.py,sha256=xm4sdq55WPwlo7uvhnQPMzG6Xtr4Fx_J-yVz_JaxzYM,9449
394
+ simtools/testing/configuration.py,sha256=f15d09dSlb0EIinU7PIUGOj7Ez-ksV0J8RX7JJSigcM,8229
395
+ simtools/testing/helpers.py,sha256=kcTd9kVgZ72FB_5p1pkIan2StH6T8hXzSdQcusChqqg,1805
396
+ simtools/testing/log_inspector.py,sha256=GCbpSRLZxTgwMMCYbJ-JR8bWGZ5P3IYb7N28X4Ypces,1589
397
+ simtools/testing/sim_telarray_metadata.py,sha256=FylOEkrhIeVyTx3LKmRRoqYZZ0x7Wlwu4zDoOcuw9BE,7939
398
+ simtools/testing/validate_output.py,sha256=dyel1O8HzPF_HdGyuBcmFATD1U_etLJO8La724yqjPY,15342
399
+ simtools/utils/general.py,sha256=78nJ77euhO7RwY2RPuqc_FYyNLIsQFwufJvK9vMYhto,25147
400
+ simtools/utils/geometry.py,sha256=SYwtW5Hovu7oz48dhQtii8I4AMKxYFujp0Pds2qIvO0,5847
401
+ simtools/utils/names.py,sha256=S5FUnFufxfkg_QKydOpeYpE5xJNK6JwDKW9eNFVhMAY,21812
401
402
  simtools/utils/value_conversion.py,sha256=UNPNjqCeuYRscZ6UJbVK2VhbViU97TsYulc7s23Mwao,6482
402
- simtools/visualization/legend_handlers.py,sha256=D-EK2WjJAkh9f0pqsfG21TofqchL6FSiiUIAzamTjuA,10573
403
- simtools/visualization/plot_array_layout.py,sha256=8YslFtXRa5jtiuBUB3im0slifWC8T1gT6JLVnKm0B-8,16548
403
+ simtools/visualization/legend_handlers.py,sha256=gKVPTz1EyXXTrurdTCNk-m6krDHTbf88UBgpE1tzyr4,10707
404
+ simtools/visualization/plot_array_layout.py,sha256=tv3GvAthqCHioSlIIG455Rgd1P-dLg0nmq5zclyI6xk,19281
404
405
  simtools/visualization/plot_camera.py,sha256=dLXKHYfY_elqaKhj91HlntASoVixTrpc_Kf0jPU8RmU,11167
405
- simtools/visualization/plot_corsika_histograms.py,sha256=6DV0NT-b-yYZ9dbCgSU3UCUHJTTWkthBsXaYgrF7JAg,21874
406
+ simtools/visualization/plot_corsika_histograms.py,sha256=54BR1pdd4NExvxrvQh5h_n6_ZzP5lTT0TXPlADEYJnU,7056
406
407
  simtools/visualization/plot_incident_angles.py,sha256=kj_YcBrFRR6C9IUe4bhekfXR9UrPBmwXBtSvrFdMRf0,13424
407
- simtools/visualization/plot_mirrors.py,sha256=nR8yDGCp2eQefMJNGyJdcaLAQl2klAAL6j3kgzcicmQ,26162
408
- simtools/visualization/plot_pixels.py,sha256=QsMsRbjXyP7i15zTGUZWKvkVo8RRw4Pp-47xPRerr9Y,20564
409
- simtools/visualization/plot_psf.py,sha256=0y3sIilriIqarFSv-yfod-1wtySTNBkq5ST79_8sFsU,25299
410
- simtools/visualization/plot_simtel_event_histograms.py,sha256=o9fPkKE1568MRumPVRyBs8ah5eyTN2mCLXseEwAy4RA,12751
411
- simtools/visualization/plot_simtel_events.py,sha256=zvfKboltaiz0yTPAv2_Is29hJlHbPMgofFhBEWNh0Ws,31450
412
- simtools/visualization/plot_tables.py,sha256=T3pfuj8YKeCZhef9KY2ne8dIzxnYnKiWDDN7aptjHXY,8662
413
- simtools/visualization/visualize.py,sha256=0vs7rt6OTCdrai7AO3bbd4sLuh1oEb_zAG_k53dgZVo,18815
414
- gammasimtools-0.25.0.dist-info/METADATA,sha256=jrVF1kyY2u2gWsEswvnWh3zKzvXy4fiXS5-KVi61MKk,5977
415
- gammasimtools-0.25.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
416
- gammasimtools-0.25.0.dist-info/entry_points.txt,sha256=9qlTxm47fhxhKRWChXjBEbwRi3sdCOo3RXTJAo478z4,5128
417
- gammasimtools-0.25.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
418
- gammasimtools-0.25.0.dist-info/RECORD,,
408
+ simtools/visualization/plot_mirrors.py,sha256=apRYGJXJLFGwqLkLgYjPmoljDGMfBj2EjDAxBwGzs1A,26044
409
+ simtools/visualization/plot_pixels.py,sha256=9wjsA9unFRTEoGHJItRRoVhz71sCRqADRQ-fVctNlls,20466
410
+ simtools/visualization/plot_psf.py,sha256=Q6YS_E0Tn0sYMw7nRhRAGYWRTj5vf3B4cNWtDP4r_wE,25253
411
+ simtools/visualization/plot_simtel_event_histograms.py,sha256=uoYLty4BLuLBt7LCwIcoS-4bj47iR43t-vbXtA0DdSQ,12723
412
+ simtools/visualization/plot_simtel_events.py,sha256=7o1KMGWsWTn0Ljga8nyhVjxnlA4F8kFqs-_N30Clc80,31338
413
+ simtools/visualization/plot_tables.py,sha256=1RRoB_J9FfkQX7n-t-ULyrJgvsptw7zi5WJrXqRgqG8,8186
414
+ simtools/visualization/visualize.py,sha256=kbjY47jVJubYMFNXRMqjkEHxdXOqZ58-QsSnyIzWp_8,19346
415
+ gammasimtools-0.26.0.dist-info/METADATA,sha256=U3W4UZ_zMBYh0CHDQlTwWGc7TRPtVIU9bWArcPUaiqU,6003
416
+ gammasimtools-0.26.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
417
+ gammasimtools-0.26.0.dist-info/entry_points.txt,sha256=OWg7_ymlyTftpDE8gh_Yl-nfMj6hxQ3fiRgg5WlV76o,5320
418
+ gammasimtools-0.26.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
419
+ gammasimtools-0.26.0.dist-info/RECORD,,
@@ -30,12 +30,13 @@ simtools-generate-simtel-event-data = simtools.applications.generate_simtel_even
30
30
  simtools-maintain-simulation-model-add-production = simtools.applications.maintain_simulation_model_add_production:main
31
31
  simtools-maintain-simulation-model-compare-productions = simtools.applications.maintain_simulation_model_compare_productions:main
32
32
  simtools-maintain-simulation-model-verify-production-tables = simtools.applications.maintain_simulation_model_verify_production_tables:main
33
+ simtools-maintain-simulation-model-write-array-element-positions = simtools.applications.maintain_simulation_model_write_array_element_positions:main
33
34
  simtools-merge-tables = simtools.applications.merge_tables:main
34
35
  simtools-plot-array-layout = simtools.applications.plot_array_layout:main
35
36
  simtools-plot-simtel-events = simtools.applications.plot_simtel_events:main
37
+ simtools-plot-simulated-event-distributions = simtools.applications.plot_simulated_event_distributions:main
36
38
  simtools-plot-tabular-data = simtools.applications.plot_tabular_data:main
37
39
  simtools-plot-tabular-data-for-model-parameter = simtools.applications.plot_tabular_data_for_model_parameter:main
38
- simtools-print-version = simtools.applications.print_version:main
39
40
  simtools-production-derive-corsika-limits = simtools.applications.production_derive_corsika_limits:main
40
41
  simtools-production-derive-statistics = simtools.applications.production_derive_statistics:main
41
42
  simtools-production-generate-grid = simtools.applications.production_generate_grid:main
@@ -1,6 +1,6 @@
1
1
  BSD 3-Clause License
2
2
 
3
- Copyright (c) 2020-2025, gammasim-tools, simtools developers
3
+ Copyright (c) 2020-2026, gammasim-tools, simtools developers
4
4
  All rights reserved.
5
5
 
6
6
  Redistribution and use in source and binary forms, with or without
simtools/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.25.0'
32
- __version_tuple__ = version_tuple = (0, 25, 0)
31
+ __version__ = version = '0.26.0'
32
+ __version_tuple__ = version_tuple = (0, 26, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -5,9 +5,10 @@ from dataclasses import dataclass
5
5
  from pathlib import Path
6
6
 
7
7
  import simtools.utils.general as gen
8
- from simtools import version
8
+ from simtools import dependencies, version
9
9
  from simtools.db import db_handler
10
10
  from simtools.io import io_handler
11
+ from simtools.settings import config
11
12
 
12
13
 
13
14
  @dataclass
@@ -76,6 +77,7 @@ def startup_application(parse_function, setup_io_handler=True, logger_name=None)
76
77
  # ... rest of application logic
77
78
  """
78
79
  args_dict, db_config = parse_function()
80
+ config.load(args_dict, db_config)
79
81
 
80
82
  if logger_name:
81
83
  logger = logging.getLogger(logger_name)
@@ -85,7 +87,9 @@ def startup_application(parse_function, setup_io_handler=True, logger_name=None)
85
87
 
86
88
  io_handler_instance = io_handler.IOHandler() if setup_io_handler else None
87
89
 
88
- _resolve_model_version_to_latest_patch(args_dict, db_config, logger)
90
+ _resolve_model_version_to_latest_patch(args_dict, logger)
91
+
92
+ _version_info(args_dict, io_handler_instance, logger)
89
93
 
90
94
  return ApplicationContext(
91
95
  args=args_dict,
@@ -122,7 +126,7 @@ def get_application_label(file_path):
122
126
  return Path(file_path).stem
123
127
 
124
128
 
125
- def _resolve_model_version_to_latest_patch(args_dict, db_config, logger):
129
+ def _resolve_model_version_to_latest_patch(args_dict, logger):
126
130
  """
127
131
  Update model_version in args_dict to latest patch version if needed.
128
132
 
@@ -132,13 +136,11 @@ def _resolve_model_version_to_latest_patch(args_dict, db_config, logger):
132
136
  ----------
133
137
  args_dict : dict
134
138
  Parsed command line arguments and configuration.
135
- db_config : dict
136
- Database configuration dictionary.
137
139
  logger : logging.Logger
138
140
  Logger instance for logging information.
139
141
  """
140
142
  mv = args_dict.get("model_version")
141
- if not mv or not db_config:
143
+ if not mv:
142
144
  return
143
145
 
144
146
  versions = mv if isinstance(mv, list) else [mv]
@@ -147,7 +149,7 @@ def _resolve_model_version_to_latest_patch(args_dict, db_config, logger):
147
149
  return
148
150
 
149
151
  try:
150
- db = db_handler.DatabaseHandler(db_config)
152
+ db = db_handler.DatabaseHandler()
151
153
  model_versions = db.get_model_versions()
152
154
  except (ValueError, KeyError, OSError) as exc:
153
155
  logger.warning(f"Could not connect to database, using version(s) as-is. Error: {exc}")
@@ -166,3 +168,29 @@ def _resolve_model_version_to_latest_patch(args_dict, db_config, logger):
166
168
 
167
169
  resolved = [resolve(v, k) for v, k in zip(versions, kinds)]
168
170
  args_dict["model_version"] = resolved if isinstance(mv, list) else resolved[0]
171
+
172
+
173
+ def _version_info(args_dict, io_handler_instance, logger):
174
+ """Print and optionally write version information."""
175
+ try:
176
+ build_options = dependencies.get_build_options(args_dict.get("run_time"))
177
+ except FileNotFoundError:
178
+ logger.debug("No build options found.")
179
+ return
180
+
181
+ logger.info(
182
+ f"simtools: {version.__version__} "
183
+ f"DB: {dependencies.get_database_version_or_name(version=False)} "
184
+ f"{dependencies.get_database_version_or_name(version=True)} "
185
+ f"CORSIKA: {build_options.get('corsika_version')} "
186
+ f"sim_telarray: {build_options.get('simtel_version')}"
187
+ )
188
+ logger.debug(f"Build options:\n {build_options}")
189
+
190
+ if args_dict.get("export_build_info"):
191
+ output_path = (
192
+ io_handler_instance.get_output_file(args_dict["export_build_info"])
193
+ if io_handler_instance
194
+ else args_dict["export_build_info"]
195
+ )
196
+ dependencies.export_build_info(output_path, args_dict.get("run_time"))
@@ -145,8 +145,6 @@ def main():
145
145
  label_with_telescope = f"{base_label}_{telescope_name}"
146
146
 
147
147
  calculator = IncidentAnglesCalculator(
148
- simtel_path=app_context.args["simtel_path"],
149
- db_config=app_context.db_config,
150
148
  config_data=app_context.args,
151
149
  output_dir=output_dir,
152
150
  label=base_label,
@@ -116,9 +116,9 @@ def _parse():
116
116
  action="store_true",
117
117
  )
118
118
  return config.initialize(
119
+ db_config=True,
119
120
  output=True,
120
121
  require_command_line=True,
121
- db_config=True,
122
122
  simulation_model=["model_version", "parameter_version", "site"],
123
123
  )
124
124
 
@@ -138,7 +138,6 @@ def main():
138
138
  validate_schema_file = metadata.get_data_model_schema_file_name()
139
139
 
140
140
  layout = array_layout.ArrayLayout(
141
- db_config=app_context.db_config,
142
141
  model_version=app_context.args["model_version"],
143
142
  site=site,
144
143
  telescope_list_file=app_context.args["input"],
@@ -166,7 +166,7 @@ def main():
166
166
  """Add files to the database."""
167
167
  app_context = startup_application(_parse, setup_io_handler=False)
168
168
 
169
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
169
+ db = db_handler.DatabaseHandler()
170
170
 
171
171
  files_to_insert = collect_files_to_insert(app_context.args, app_context.logger, db)
172
172
  confirm_and_insert_files(files_to_insert, app_context.args, db, app_context.logger)
@@ -93,7 +93,7 @@ def main():
93
93
  """Add or update a model parameter database to the DB."""
94
94
  app_context = startup_application(_parse, setup_io_handler=False)
95
95
 
96
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
96
+ db = db_handler.DatabaseHandler()
97
97
 
98
98
  if app_context.args.get("type") == "model_parameters":
99
99
  db_model_upload.add_model_parameters_to_db(
@@ -67,7 +67,7 @@ def main():
67
67
  app_context.logger.info(
68
68
  f"Using test database version {app_context.db_config['db_simulation_model_version']}"
69
69
  )
70
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
70
+ db = db_handler.DatabaseHandler()
71
71
 
72
72
  files_to_insert = []
73
73
  if app_context.args.get("file_name", None) is not None:
@@ -37,7 +37,7 @@ def main():
37
37
  """Generate compound indexes for the specified database."""
38
38
  app_context = startup_application(_parse, setup_io_handler=False)
39
39
 
40
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
40
+ db = db_handler.DatabaseHandler()
41
41
 
42
42
  db.generate_compound_indexes_for_databases(
43
43
  db_name=app_context.args["db_name"],
@@ -85,7 +85,7 @@ def _parse():
85
85
  )
86
86
 
87
87
 
88
- def _layout_from_db(args_dict, db_config):
88
+ def _layout_from_db(args_dict):
89
89
  """
90
90
  Read array elements and their positions from data base using the layout name.
91
91
 
@@ -93,8 +93,6 @@ def _layout_from_db(args_dict, db_config):
93
93
  ----------
94
94
  args_dict : dict
95
95
  Dictionary with the command line arguments.
96
- db_config : dict
97
- Database configuration.
98
96
 
99
97
  Returns
100
98
  -------
@@ -102,7 +100,6 @@ def _layout_from_db(args_dict, db_config):
102
100
  Table with array element positions.
103
101
  """
104
102
  array_model = ArrayModel(
105
- db_config=db_config,
106
103
  model_version=args_dict["model_version"],
107
104
  site=args_dict["site"],
108
105
  layout_name=args_dict.get("array_layout_name", None),
@@ -121,14 +118,13 @@ def main():
121
118
  if app_context.args.get("site", None) is None:
122
119
  raise ValueError("Site must be provided to list available layouts.")
123
120
  site_model = SiteModel(
124
- db_config=app_context.db_config,
125
121
  model_version=app_context.args["model_version"],
126
122
  site=app_context.args["site"],
127
123
  )
128
124
  print(site_model.get_list_of_array_layouts())
129
125
  else:
130
126
  app_context.logger.info("Array layout: %s", app_context.args["array_layout_name"])
131
- layout = _layout_from_db(app_context.args, app_context.db_config)
127
+ layout = _layout_from_db(app_context.args)
132
128
  layout.pprint()
133
129
 
134
130
  if not app_context.args.get("output_file_from_default", False):
@@ -60,7 +60,7 @@ def main():
60
60
  """Get file from database."""
61
61
  app_context = startup_application(_parse)
62
62
 
63
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
63
+ db = db_handler.DatabaseHandler()
64
64
  file_id = db.export_model_files(
65
65
  dest=app_context.io_handler.get_output_directory(),
66
66
  file_names=app_context.args["file_name"],
@@ -108,7 +108,7 @@ def main():
108
108
  """Get a parameter entry from DB for a specific telescope or a site."""
109
109
  app_context = startup_application(_parse)
110
110
 
111
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
111
+ db = db_handler.DatabaseHandler()
112
112
 
113
113
  pars = db.get_model_parameter(
114
114
  parameter=app_context.args["parameter"],
@@ -32,7 +32,7 @@ def main():
32
32
  """Inspect databases."""
33
33
  app_context = startup_application(_parse, setup_io_handler=False)
34
34
 
35
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
35
+ db = db_handler.DatabaseHandler()
36
36
  # databases without internal databases we don't have rights to modify
37
37
  databases = [
38
38
  d
@@ -87,7 +87,7 @@ def main():
87
87
  """Application main."""
88
88
  app_context = startup_application(_parse)
89
89
 
90
- db = db_handler.DatabaseHandler(db_config=app_context.db_config)
90
+ db = db_handler.DatabaseHandler()
91
91
  db.print_connection_info()
92
92
 
93
93
  db_model_upload.add_complete_model(