gammasimtools 0.22.0__py3-none-any.whl → 0.24.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 (128) hide show
  1. {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/METADATA +2 -1
  2. {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/RECORD +128 -125
  3. simtools/_version.py +2 -2
  4. simtools/application_control.py +118 -0
  5. simtools/applications/calculate_incident_angles.py +17 -22
  6. simtools/applications/convert_all_model_parameters_from_simtel.py +28 -43
  7. simtools/applications/convert_geo_coordinates_of_array_elements.py +26 -45
  8. simtools/applications/convert_model_parameter_from_simtel.py +21 -41
  9. simtools/applications/db_add_file_to_db.py +13 -14
  10. simtools/applications/db_add_simulation_model_from_repository_to_db.py +20 -33
  11. simtools/applications/db_add_value_from_json_to_db.py +29 -24
  12. simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +20 -35
  13. simtools/applications/db_generate_compound_indexes.py +11 -13
  14. simtools/applications/db_get_array_layouts_from_db.py +20 -40
  15. simtools/applications/db_get_file_from_db.py +15 -17
  16. simtools/applications/db_get_parameter_from_db.py +33 -35
  17. simtools/applications/db_inspect_databases.py +13 -12
  18. simtools/applications/db_upload_model_repository.py +13 -31
  19. simtools/applications/derive_ctao_array_layouts.py +16 -21
  20. simtools/applications/derive_mirror_rnda.py +9 -14
  21. simtools/applications/derive_photon_electron_spectrum.py +7 -10
  22. simtools/applications/derive_psf_parameters.py +13 -20
  23. simtools/applications/derive_trigger_rates.py +6 -9
  24. simtools/applications/docs_produce_array_element_report.py +22 -23
  25. simtools/applications/docs_produce_calibration_reports.py +26 -24
  26. simtools/applications/docs_produce_model_parameter_reports.py +15 -22
  27. simtools/applications/docs_produce_simulation_configuration_report.py +21 -22
  28. simtools/applications/generate_array_config.py +14 -33
  29. simtools/applications/generate_corsika_histograms.py +22 -43
  30. simtools/applications/generate_default_metadata.py +15 -36
  31. simtools/applications/generate_regular_arrays.py +11 -15
  32. simtools/applications/generate_simtel_event_data.py +23 -33
  33. simtools/applications/maintain_simulation_model_add_production.py +20 -37
  34. simtools/applications/maintain_simulation_model_compare_productions.py +10 -12
  35. simtools/applications/maintain_simulation_model_verify_production_tables.py +8 -11
  36. simtools/applications/merge_tables.py +14 -23
  37. simtools/applications/plot_array_layout.py +77 -54
  38. simtools/applications/plot_simtel_events.py +11 -13
  39. simtools/applications/plot_tabular_data.py +17 -38
  40. simtools/applications/plot_tabular_data_for_model_parameter.py +16 -23
  41. simtools/applications/print_version.py +14 -42
  42. simtools/applications/production_derive_corsika_limits.py +5 -9
  43. simtools/applications/production_derive_statistics.py +12 -25
  44. simtools/applications/production_generate_grid.py +20 -48
  45. simtools/applications/production_merge_corsika_limits.py +17 -21
  46. simtools/applications/run_application.py +12 -32
  47. simtools/applications/simulate_flasher.py +21 -25
  48. simtools/applications/simulate_illuminator.py +7 -14
  49. simtools/applications/simulate_pedestals.py +13 -13
  50. simtools/applications/simulate_prod.py +21 -33
  51. simtools/applications/simulate_prod_htcondor_generator.py +11 -25
  52. simtools/applications/submit_array_layouts.py +16 -19
  53. simtools/applications/submit_data_from_external.py +18 -34
  54. simtools/applications/submit_model_parameter_from_external.py +27 -40
  55. simtools/applications/validate_camera_efficiency.py +23 -21
  56. simtools/applications/validate_camera_fov.py +21 -26
  57. simtools/applications/validate_cumulative_psf.py +27 -35
  58. simtools/applications/validate_file_using_schema.py +15 -33
  59. simtools/applications/validate_optics.py +27 -33
  60. simtools/camera/camera_efficiency.py +0 -2
  61. simtools/configuration/commandline_parser.py +39 -13
  62. simtools/configuration/configurator.py +1 -6
  63. simtools/corsika/corsika_config.py +2 -9
  64. simtools/data_model/data_reader.py +0 -2
  65. simtools/data_model/metadata_collector.py +0 -2
  66. simtools/data_model/model_data_writer.py +1 -3
  67. simtools/data_model/schema.py +36 -34
  68. simtools/data_model/validate_data.py +0 -2
  69. simtools/db/db_handler.py +61 -296
  70. simtools/db/db_model_upload.py +1 -1
  71. simtools/db/mongo_db.py +535 -0
  72. simtools/dependencies.py +33 -8
  73. simtools/io/hdf5_handler.py +0 -5
  74. simtools/io/legacy_data_handler.py +0 -5
  75. simtools/job_execution/job_manager.py +0 -3
  76. simtools/layout/array_layout.py +7 -9
  77. simtools/layout/array_layout_utils.py +3 -3
  78. simtools/layout/telescope_position.py +0 -2
  79. simtools/model/array_model.py +38 -71
  80. simtools/model/calibration_model.py +12 -11
  81. simtools/model/camera.py +0 -2
  82. simtools/model/mirrors.py +0 -2
  83. simtools/model/model_parameter.py +200 -140
  84. simtools/model/model_repository.py +159 -35
  85. simtools/model/model_utils.py +3 -8
  86. simtools/model/site_model.py +59 -29
  87. simtools/model/telescope_model.py +21 -15
  88. simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py +0 -2
  89. simtools/production_configuration/derive_production_statistics.py +0 -2
  90. simtools/production_configuration/interpolation_handler.py +0 -2
  91. simtools/ray_tracing/mirror_panel_psf.py +4 -4
  92. simtools/ray_tracing/psf_analysis.py +0 -2
  93. simtools/ray_tracing/psf_parameter_optimisation.py +1 -1
  94. simtools/ray_tracing/ray_tracing.py +0 -2
  95. simtools/reporting/docs_auto_report_generator.py +109 -1
  96. simtools/reporting/docs_read_parameters.py +4 -9
  97. simtools/runners/corsika_runner.py +0 -2
  98. simtools/runners/corsika_simtel_runner.py +0 -2
  99. simtools/runners/simtel_runner.py +0 -2
  100. simtools/schemas/model_parameters/transit_time_random.schema.yml +29 -0
  101. simtools/schemas/simulation_models_info.schema.yml +2 -1
  102. simtools/simtel/simtel_config_reader.py +0 -2
  103. simtools/simtel/simtel_config_writer.py +128 -33
  104. simtools/simtel/simtel_io_metadata.py +3 -3
  105. simtools/simtel/simulator_array.py +9 -21
  106. simtools/simtel/simulator_camera_efficiency.py +0 -2
  107. simtools/simtel/simulator_light_emission.py +1 -3
  108. simtools/simtel/simulator_ray_tracing.py +0 -2
  109. simtools/simulator.py +2 -6
  110. simtools/testing/assertions.py +52 -8
  111. simtools/testing/configuration.py +17 -4
  112. simtools/testing/validate_output.py +4 -8
  113. simtools/utils/general.py +5 -13
  114. simtools/utils/geometry.py +0 -5
  115. simtools/utils/names.py +1 -13
  116. simtools/utils/value_conversion.py +10 -5
  117. simtools/version.py +85 -0
  118. simtools/visualization/plot_array_layout.py +129 -23
  119. simtools/visualization/plot_incident_angles.py +0 -2
  120. simtools/visualization/plot_pixels.py +1 -1
  121. simtools/visualization/plot_psf.py +1 -1
  122. simtools/visualization/plot_simtel_events.py +0 -11
  123. simtools/visualization/plot_tables.py +1 -1
  124. simtools/visualization/visualize.py +0 -12
  125. {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/WHEEL +0 -0
  126. {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/entry_points.txt +0 -0
  127. {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/licenses/LICENSE +0 -0
  128. {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.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.22.0
3
+ Version: 0.24.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
@@ -12,6 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
15
16
  Classifier: Topic :: Scientific/Engineering :: Astronomy
16
17
  Requires-Python: >=3.12
17
18
  Description-Content-Type: text/markdown
@@ -1,122 +1,124 @@
1
- gammasimtools-0.22.0.dist-info/licenses/LICENSE,sha256=a2q6KVo33OrRL_7ZSk7BYOT8KkUNV3WAMZW8CHEDkDU,1548
1
+ gammasimtools-0.24.0.dist-info/licenses/LICENSE,sha256=a2q6KVo33OrRL_7ZSk7BYOT8KkUNV3WAMZW8CHEDkDU,1548
2
2
  simtools/__init__.py,sha256=yvx0i5ygbllmMtF2Tzy7pohvhQNH_dBdj0Bt8bKFYpc,231
3
- simtools/_version.py,sha256=FhPQWM-bDeA58eFqCxyhBUNdq8oiukqrZKTK4Sh_eBY,706
3
+ simtools/_version.py,sha256=ADBh2JtyPiL8yFdC_JGhFEVpNOBdSJnZ0ZOVCp71Qqw,706
4
+ simtools/application_control.py,sha256=q5y4-yNYaNDQgKZxyU8EujwcZPI_i-RmZsv3rRFjusM,3305
4
5
  simtools/constants.py,sha256=3N5bc8MlMWRzcg8EeSJweoioEo_uhStMxAzdb85Apvw,966
5
- simtools/dependencies.py,sha256=bDMw1Nyjya0-TnWp_K6LyV6JbO_aJDARa6KSGXhLcqc,6572
6
- simtools/simulator.py,sha256=xPWkeQupBlPcT24VBEZtGSd2KXazhtgMajrZ6jOk4a0,28799
6
+ simtools/dependencies.py,sha256=ciKwmvNwDz6WyMu72TjQe1qKPl8PsFvjzSTkQA5_Lmo,7258
7
+ simtools/simulator.py,sha256=HgyaGB49TDvtvPiF7K5O2wkNefpfhfEKyXw0I1vzg9Y,28826
7
8
  simtools/telescope_trigger_rates.py,sha256=_2NUG8UnhfpMGhaEDgHUOOdnweCUcRTrTOkGGYInHqo,3984
8
- simtools/version.py,sha256=zSasXHSCCXjO8HEyahVsrJNQlmj-SKH4WGxdeogZP3A,3846
9
- simtools/applications/calculate_incident_angles.py,sha256=NleEmFMjRsZ5yZjJz5xuoNkhAkGsjT7ktfBhpTvJ-Fw,5844
10
- simtools/applications/convert_all_model_parameters_from_simtel.py,sha256=3woz7Ju7zJvyyqxregsP7S1y13KoPUkEtEMdojE7kTA,12157
11
- simtools/applications/convert_geo_coordinates_of_array_elements.py,sha256=-P0tbF5T3P23_tYTp18HAmlYH7a7Gx-TTzxESf5Qfvk,5967
12
- simtools/applications/convert_model_parameter_from_simtel.py,sha256=RDFHqdCBM-UU-q91ey9-qf0GTmUaCRq_vVyfp39CnO4,3786
13
- simtools/applications/db_add_file_to_db.py,sha256=Jvesc9NL4OSGUMGKsZs0yyX2HyQfCwGJemLvMf8JQGY,5555
14
- simtools/applications/db_add_simulation_model_from_repository_to_db.py,sha256=02sZBCczjbBZoWb4AjKTcfq3aDn9oPjSF8IduJsqJ6o,4311
15
- simtools/applications/db_add_value_from_json_to_db.py,sha256=IOdbgrIUa3xdrXGcblFXDoIIGnXpWkAyu-4K7n17VrQ,3585
16
- simtools/applications/db_generate_compound_indexes.py,sha256=B0eQs_lpnQBMig1zKxoAxT1EQIhQIwLjcK9tGqa3ioA,1358
17
- simtools/applications/db_get_array_layouts_from_db.py,sha256=2St5ZfcohXSHnDYiP326D4fqlbfsgREsC4lGJ5cDUPg,5122
18
- simtools/applications/db_get_file_from_db.py,sha256=3aIRyZaHIDYwLGCMFdQFtsp84D5r2MlIC20QPOZ1rck,2394
19
- simtools/applications/db_get_parameter_from_db.py,sha256=L0VehfQir3lrLDPa_ezEuU7uo8gmBdfMDqOax39Nqn0,5131
20
- simtools/applications/db_inspect_databases.py,sha256=Po78qE7qmf97u93fSJpdZTWpDEEBFzm1CHxFi0ZL-uE,1871
21
- simtools/applications/db_upload_model_repository.py,sha256=Cd37AKrjSyUUcDRZMxGpU9fnfQDQRLhgiBUHscNv8SQ,3834
22
- simtools/applications/derive_ctao_array_layouts.py,sha256=n6bCW2hRXDg1GxynwouRJKQlBYeG2GCehx61tNvRLMA,4081
23
- simtools/applications/derive_mirror_rnda.py,sha256=yYCfdN-KNr_R_mmiVrn3L3QJRinvO5z3o0HIRLzPO3w,8955
24
- simtools/applications/derive_photon_electron_spectrum.py,sha256=8Dpz-XTlCmOvoKUFtq78B1of62k8ygyk5_r-ZxZYauo,3968
25
- simtools/applications/derive_psf_parameters.py,sha256=edaYAB26q5hCORjcnWgJar7-7YHBXytJrtGAUrqmV-g,7965
26
- simtools/applications/derive_trigger_rates.py,sha256=3JqdnjNJJNyWF6HyzUSQfldrbvXGRoNUpCqTET3qtEw,2460
27
- simtools/applications/docs_produce_array_element_report.py,sha256=tyJJgeWXvgXLMLUGMOn1LkTfKq-8vnOELr213OP9Z50,2449
28
- simtools/applications/docs_produce_calibration_reports.py,sha256=4VipMx6SxMap21kC8bhQ-auU71_-QxwsvaU2T8UIX4M,1343
29
- simtools/applications/docs_produce_model_parameter_reports.py,sha256=mn-ytuQJCuqbOzZSGcxwNx3IuBNugjVM7Owt7hA9PQc,1935
30
- simtools/applications/docs_produce_simulation_configuration_report.py,sha256=j4pSI7AqPnjC8dTrtOnk3qQxlZnDNpOotubx8N4MBPo,1404
31
- simtools/applications/generate_array_config.py,sha256=bzuQsEp2wUBLGxVkF_1bpw0iFco--47QhQPByAO3hXA,2224
32
- simtools/applications/generate_corsika_histograms.py,sha256=zQXGnndFX1zNAVbbornhKUoSQkfRo9NfNZekrKg41Ho,11392
33
- simtools/applications/generate_default_metadata.py,sha256=t-4qWX1EyCoUaUs4Pg_ec_MiT9bEFH5jN7KHWzZ8fP8,2370
34
- simtools/applications/generate_regular_arrays.py,sha256=JZI4KfhP67K6Qvg2yAsQZgKNnRiQAfdcpDHfgP16Wkk,3846
35
- simtools/applications/generate_simtel_event_data.py,sha256=qd25UVoR0qR2B1YNf9UYceYkJR0K9dAWQRqWrdkPmUs,9072
36
- simtools/applications/maintain_simulation_model_add_production.py,sha256=XpEg305tcwtq_pssLNaN0R87h0axLtMcXJHwehrwqL4,2731
37
- simtools/applications/maintain_simulation_model_compare_productions.py,sha256=ld3t1AOBYYFDP21XY4LaANsz20XsgT5qe5oAibCLnRo,3172
38
- simtools/applications/maintain_simulation_model_verify_production_tables.py,sha256=fFa6QdA7uzRmxCvtdEDxDfGIs88UR7z-NRENHpZKxsk,1758
39
- simtools/applications/merge_tables.py,sha256=zx4-Z0sYQ3lmDbf5vBm6RDT2lDHHHPKj-XqTUXKGFU8,2725
40
- simtools/applications/plot_array_layout.py,sha256=MdRBzgjsULgx3xTOJeN8LzWKoskb5Pji-snIzjySgoE,9841
41
- simtools/applications/plot_simtel_events.py,sha256=urOcRtRsQXM7s3CeKEe1dxYKiGu_T6EKKoLcay4lZc8,6817
42
- simtools/applications/plot_tabular_data.py,sha256=qHDU75GgmXTFoxIbRlewLpbnsYMjNgMdVnc8bUqAszo,3135
43
- simtools/applications/plot_tabular_data_for_model_parameter.py,sha256=4N1QmS60OR02Vm9UJRqMr7IURIHi3C5dU1Fx0hzasi4,3320
44
- simtools/applications/print_version.py,sha256=nseXg8McK9uH7rTLwFYUoQj5nS-7bmjzkh3M64ZMdwY,2436
45
- simtools/applications/production_derive_corsika_limits.py,sha256=ENcN4VyfdgPgnbJDcET8k5m0j7_BiVU7-yf-1WwoE10,5834
46
- simtools/applications/production_derive_statistics.py,sha256=9CLTENtPzJ6_AVROa0aT1rCAt-yk4wPAGm1I00tQuLk,5067
47
- simtools/applications/production_generate_grid.py,sha256=6OQzAgKUzIeZoBd5DbzQWj3d1UqRYFHacDZ4jte6TC8,6756
48
- simtools/applications/production_merge_corsika_limits.py,sha256=djx-wlQD7QJnVHYlrQQsR1G_KFB36IqJFeK3kUfdq4k,7549
49
- simtools/applications/run_application.py,sha256=ipsUjYP7wSBvpXYPHjQylFrO0T_mIaES2WrNpGJ-8fM,4287
50
- simtools/applications/simulate_flasher.py,sha256=aC1adPBM-EERUEQhC44KKqX9UlewS-uwCoFAF5ALqac,4602
51
- simtools/applications/simulate_illuminator.py,sha256=qsIg4doZaOq-ap2sLyb94jNiObtv8O_nl0UrFDQKLR8,4284
52
- simtools/applications/simulate_pedestals.py,sha256=FNlOJ5sB9IT96N1O4qbIyXSNjG9JqB_n62qSujMZxYY,3738
53
- simtools/applications/simulate_prod.py,sha256=lqF2xrBBdNEvG9QdFGLBU_oVQA51EsT80XJMJhDnaxQ,6574
54
- simtools/applications/simulate_prod_htcondor_generator.py,sha256=DRIaIKczigESJ2aTWVEXjPWetJ6R_EDyReZoKg5-jdU,3350
55
- simtools/applications/submit_array_layouts.py,sha256=Xv6Wo7ratUiZTA6MynB-klXAfmXC8UnlEMjBaEH-yC4,2756
56
- simtools/applications/submit_data_from_external.py,sha256=hFqsnKiH00YGOmu8hMFi6kBWGxwkabVIAYLI0ckh-6E,3259
57
- simtools/applications/submit_model_parameter_from_external.py,sha256=l0QvFfUUzcAEfTib9xzKVAfljdu1V6hsMuW8BdvXvJI,3873
58
- simtools/applications/validate_camera_efficiency.py,sha256=RN3zpW3BUBKO-sPJN8rztb1WKfZ1SnTOAgzs3zDIBQQ,4850
59
- simtools/applications/validate_camera_fov.py,sha256=wjNqJyBaD7PU7Cvhy8tkOlwmztWEZAtgI5AlV_64uGk,4473
60
- simtools/applications/validate_cumulative_psf.py,sha256=994Y0WmA4r1M22YnIRyiyCCByY3lAsidALoJpGRuju4,6307
61
- simtools/applications/validate_file_using_schema.py,sha256=Rs-3HNG3HDr1Gxr7TDvHes2KMotCZZGfcnisZ4e50iw,7363
62
- simtools/applications/validate_optics.py,sha256=fVZYbETopmQ4FHxjf9cxQvTgoZZ1JaZD9PQx6-H0QNM,6346
63
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=skCdGFyZyWfleg2GvlB3FVM7w8TK0rgrdSe_xsAV_qw,5399
64
- simtools/camera/camera_efficiency.py,sha256=Rv7KR24u0403D17hmoZk8UUWdoXGuUxNyPn8JqK1cOw,18959
9
+ simtools/version.py,sha256=01MnfNqKGG0qpsiozYDVQKoj86RT3hVrn8ClOrm3Rgc,6164
10
+ simtools/applications/calculate_incident_angles.py,sha256=utE5N6F_RjtNGxYx-HbAcQ4l6DtAmoZxYRgO7-jTM2g,6042
11
+ 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_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
25
+ simtools/applications/derive_photon_electron_spectrum.py,sha256=-Drq6QPo7xXjGGmdDzGKJ6x1Byg9_jOaD-fSKG6CJQE,3988
26
+ simtools/applications/derive_psf_parameters.py,sha256=DiinpJYuXmt4hQXjwN8uLVnAfq1unF2ZrmIG47Z7o3I,7882
27
+ simtools/applications/derive_trigger_rates.py,sha256=4kdJjc7-pB2XiuEX9BHzbJ9XXBZ0vN0XITVtvQgq11k,2515
28
+ simtools/applications/docs_produce_array_element_report.py,sha256=CW2s2JwT-LvsBNjgbJayEjR42oYx8grWs96zP_VR9LQ,2556
29
+ simtools/applications/docs_produce_calibration_reports.py,sha256=sOmC6uNjFaawj26nqJa3GsWAnQd0F96W6WKm3gj7J0I,1575
30
+ simtools/applications/docs_produce_model_parameter_reports.py,sha256=P1Uv4d4XFZA39x8l1Ee7jQ28Qe_n8jGiU9wg8hP1pbE,1933
31
+ simtools/applications/docs_produce_simulation_configuration_report.py,sha256=EBqx1VDwUG_UQq_K_6DVz_aDOBxbiqb_PNob6UJ3bKA,1485
32
+ simtools/applications/generate_array_config.py,sha256=8k3JvQNk0Stb-i1-WMpN4AL4FVWMg2uwhyNtIQ1WQXc,1877
33
+ simtools/applications/generate_corsika_histograms.py,sha256=96FSduO6lFbo4mPJmU0Br85LeSBEDDBEMlo1SzxTIW4,11048
34
+ simtools/applications/generate_default_metadata.py,sha256=yll6cUGl87DhBiov3rQhIPBcT0NIui06oILChjSQAdE,2053
35
+ simtools/applications/generate_regular_arrays.py,sha256=X192RvFs8m-GOj1z4Awu3Lu-NT8L23SujdKun3iZONs,3862
36
+ simtools/applications/generate_simtel_event_data.py,sha256=An8efQclDJD2b-HzTUwqfXTIkRUsBVeq9q5M7MXE9BQ,9057
37
+ simtools/applications/maintain_simulation_model_add_production.py,sha256=lBBm6F5EQJqS2FnNGceEZI6ogzZpxna5IOTBPbXNMmc,2412
38
+ simtools/applications/maintain_simulation_model_compare_productions.py,sha256=aD6eZq1RUMnE4J-AuNjuHCKy_vDmnFnhPCPO0wxshbA,3194
39
+ simtools/applications/maintain_simulation_model_verify_production_tables.py,sha256=YpnP7EeaheV03KwW7ryEc4GHIqaEHOFkG-RqJOH64RE,1793
40
+ simtools/applications/merge_tables.py,sha256=N7MGX-VD2tu72RWvSDEb1zfls6px-wqLU4t5Lbl9V6E,2656
41
+ simtools/applications/plot_array_layout.py,sha256=mik3-O3AhPIGBdvUBATji4MUnVhRe5eHkHNNFa9S564,11270
42
+ simtools/applications/plot_simtel_events.py,sha256=aIINMATBNEs5-K72ZyWVBLyd83-70eMjERMNKvknSUE,6787
43
+ simtools/applications/plot_tabular_data.py,sha256=jsGBWFelKSD4TOI4WZHdez-mM9l666RLctJvqCkZfus,2691
44
+ simtools/applications/plot_tabular_data_for_model_parameter.py,sha256=zBFY5Vb6ns_gWTQN9BLTzhq-7x3pvnzS6CC6LR6y_CM,3161
45
+ simtools/applications/print_version.py,sha256=McMS3mEmUn11t_ExRhqd_G4S3p5ErbUuWWOLBREalFQ,1709
46
+ simtools/applications/production_derive_corsika_limits.py,sha256=-rJpLGqODtuPhXCEd-1fWFfRefrjGE_5jQMFfwoDwBQ,5823
47
+ simtools/applications/production_derive_statistics.py,sha256=NT_EL-jUg151QrCY1E1NaBerpUg9caRWo1e4AUHSB7o,4771
48
+ simtools/applications/production_generate_grid.py,sha256=L_LlHA3Uly6P3Rx4eaxVvPXz3Z8VAwNv_7XO6Hm2VXs,5824
49
+ simtools/applications/production_merge_corsika_limits.py,sha256=sYOTG731ja0xW5p2Pq4dJdOuKwWi7MphASdZ-dg6osY,7588
50
+ simtools/applications/run_application.py,sha256=XaDRG-1TptvMSXwNis1z_n43YqkEI_fVjZiTImjl6-o,3947
51
+ simtools/applications/simulate_flasher.py,sha256=CR5dl-GSycEyu8_D51kHJNUAxokTvMJ-fRlEGS82gLw,4646
52
+ simtools/applications/simulate_illuminator.py,sha256=3UcrubHk_aErIsPW0rJTtlpXPnYlEZaqWBuF1IW-0go,4220
53
+ simtools/applications/simulate_pedestals.py,sha256=0fmleOnAnNfJSoNX6zEgxHwJpOQldCrt02gtMDPZ_x0,3724
54
+ simtools/applications/simulate_prod.py,sha256=B4Dj9lDp8p61ZwvPTXMoiBYPLinBGf9MRDo-dHV65H0,6464
55
+ simtools/applications/simulate_prod_htcondor_generator.py,sha256=lcnYGjC5KwWmE0d6FFDXgg4XIolFPC0eXppDtUsp12s,3193
56
+ simtools/applications/submit_array_layouts.py,sha256=MOXYpHROJmLGbjyDXQ6L0XMXEVQNXRaZLUR-ppcMb2o,2701
57
+ simtools/applications/submit_data_from_external.py,sha256=4uXI_JSKNpQkSbuUfEWQgtvH-on7nffIgQHbpzjN0Bc,3043
58
+ simtools/applications/submit_model_parameter_from_external.py,sha256=UwpSclpjBXN2Vu8aQzHHRffj-Tt3M2IxqIcTnviRwuM,3754
59
+ simtools/applications/validate_camera_efficiency.py,sha256=sPmIiQYQM9ewco2ExKI_QJ_nL1wjwmY5NOSN6Us0Wjk,4949
60
+ simtools/applications/validate_camera_fov.py,sha256=hU_Ul_E3c_Hl-dKLIlzZPgWyDillNOJsLpQu7_L3f44,4535
61
+ simtools/applications/validate_cumulative_psf.py,sha256=yeki5GV0vFX6P5yuMCAPkfFI2C_S8OjrfZlSpn2ol00,6430
62
+ simtools/applications/validate_file_using_schema.py,sha256=j2x-wca3QsePq71FMN32OLwBLmTKOHIaa-8bYkvZEx4,7161
63
+ simtools/applications/validate_optics.py,sha256=7daD4S_9kze-MkmPUioekde3cgkmtfLVbl1CbqC6mYY,6451
64
+ simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=MG7F0_QTEjt2_1rryyVTDDjR9rHHWOGDHuP0fAVWolQ,5172
65
+ simtools/camera/camera_efficiency.py,sha256=DMw438cJ6gcnZyXHuTDAohk5duCF8EWpCqnE93FXziA,18927
65
66
  simtools/camera/single_photon_electron_spectrum.py,sha256=eQTpmy8NH8v5kkrlFjYmlIQhqcDwXHy44q-59PtXZEI,11572
66
- simtools/configuration/commandline_parser.py,sha256=2LZaNoK0LB9oVhdJtmNRolt3HawC5HW6Q622CIlJ-GI,27126
67
- simtools/configuration/configurator.py,sha256=9JGABHUCYpgGcbdkkB8PUuHPmGLl87GTwpnHRbcRoAI,14867
68
- simtools/corsika/corsika_config.py,sha256=6IcUf-mNhBc5fZ5DNX4QT0_DJCOMIvsyHnvbPQhkk7c,28968
67
+ simtools/configuration/commandline_parser.py,sha256=T0o_K3m-nPmictwCSlFQIpB8m9dYePBPuJmK1EY_Ukc,27877
68
+ simtools/configuration/configurator.py,sha256=sxaXZNbEb2Lli9092vmXsp6L0hbxZM9dZ6WtC25QYdw,14788
69
+ simtools/corsika/corsika_config.py,sha256=h7QMedOBVBKOxmShF2VN9C0EXEXApiU70J7Qc06Ckd0,28858
69
70
  simtools/corsika/corsika_histograms.py,sha256=nbxSoAj_oW3KABfo46ioj9W2VpXKWKw5mOiMeb1nGjs,70524
70
71
  simtools/corsika/primary_particle.py,sha256=WK0UKYtdPSefes286ZGXsoGV9r6JqH19Tk9myza_plU,6613
71
- simtools/data_model/data_reader.py,sha256=M_TmHRe8AyA291twrmHGNRu11fMibDhWWDCvVptDoRM,4111
72
+ simtools/data_model/data_reader.py,sha256=abqVujfDYu1SHbMhpqRA851_WDWZr2SOoi35p0hZ_7s,4051
72
73
  simtools/data_model/format_checkers.py,sha256=bXF9dItkpZCGXAHdCH7vhgxEsIhXLLVFLOha-hKRspY,1949
73
- simtools/data_model/metadata_collector.py,sha256=s1aa8iaPyc8rk2KmRBdIjbMNTcLxCT1u_OVprW9M-sk,23546
74
+ simtools/data_model/metadata_collector.py,sha256=31j1l6Kl3gzVfpWql0ft-Dl0uvsBc0nF18oN9hp849Q,23513
74
75
  simtools/data_model/metadata_model.py,sha256=wH52gC6MdwFw9A6UswZLsRlss7vbXDyxybBaI_UMt18,4642
75
- simtools/data_model/model_data_writer.py,sha256=Cw5dxYC2Y5dXPtlFCVnzMjM8Yl6kV80Z02CkQf2yRTM,16610
76
- simtools/data_model/schema.py,sha256=11l8LToCICluth1DAYz5_IeqkQs1DoBpPGcvSwTBnko,10601
77
- simtools/data_model/validate_data.py,sha256=jiXlay28HcRmFdsIpwtCJQ-g0ald_C5dVf8UtUTuHQs,31107
78
- simtools/db/db_handler.py,sha256=6Ep5j-Y7XqO5Ucz2im5YYmL3ImaD4FYLYr-T_m1bkOk,37994
79
- simtools/db/db_model_upload.py,sha256=WfhdQBdCgI2bwFxWTmgdNiG8JQVYnt5x3HVqLBMmJCY,11819
76
+ simtools/data_model/model_data_writer.py,sha256=xvlDmFJW93lCaRBg4o5ZXegAZS7kcaC6LLyocJ2KJN4,16573
77
+ simtools/data_model/schema.py,sha256=BeJQTvK6OfjVxansVUKPc1PgyJarHQw6Jktlji-GDcE,10809
78
+ simtools/data_model/validate_data.py,sha256=jVxiTP1YlDiGqyAjb-b6vofmpxaZQY3RAtjaVkuCuRo,31078
79
+ simtools/db/db_handler.py,sha256=ACBqi0k-4fqbq9gMmLg1wEa4LWWTXQuZQjoBg3VIjks,29418
80
+ simtools/db/db_model_upload.py,sha256=0j1h-EwJgTWUS5GCIULwSdvh36Bm0Yhqn0Nm0Wd2vXE,11813
81
+ simtools/db/mongo_db.py,sha256=mwtQ8l7HSXRDPZbkVO4xrMRVRsOUZpu_m0_l0-CswiU,16505
80
82
  simtools/io/ascii_handler.py,sha256=S2fP2x6vE4nEF5g0NRARIWKs8vKU3c9SW8XtcdrwhQU,7826
81
- simtools/io/hdf5_handler.py,sha256=CqP76MCfxvWH8AOnkIbQM5wBHIvSDEbdZ03wn7t6XgI,4232
83
+ simtools/io/hdf5_handler.py,sha256=Jnya-FMhmt_jQHIMQawUZrJA6S3QFo1BGGVt2Jaj89g,4177
82
84
  simtools/io/io_handler.py,sha256=qC4-htBLvHcHgHfsZeDJllevadpMBN7KtFPnuHSXrpI,3439
83
- simtools/io/legacy_data_handler.py,sha256=gSz4FLoa1IpJl2DnP6NHpzSYVC4_rolX_SfbHt3u_zk,1341
85
+ simtools/io/legacy_data_handler.py,sha256=ZJunKgO0gjCLHtBqVtYUAiD88ouJio1_w_XJHjjp_6U,1260
84
86
  simtools/io/table_handler.py,sha256=YJqbam9sBjKAhHDyzFd0X0duWT1jnYPyk0La9Gp2jeo,10713
85
87
  simtools/job_execution/htcondor_script_generator.py,sha256=7Wm1iR8PK0gbutbZATyBmhqQu-MZQI0HaJa7dJJVMHA,4248
86
- simtools/job_execution/job_manager.py,sha256=CeWGHEwNbWowyB9bWbR5jxVRVF2CLCoWCKSOLvnbG4I,4764
87
- simtools/layout/array_layout.py,sha256=_wOQ0fefbaleLPQcIyhH8rlYqzBokVi0VeTyi98XOLo,25186
88
- simtools/layout/array_layout_utils.py,sha256=4xV8BqO9E9RkS8cT_Gaat0wLHksBLsvvdUes7Z3M0dE,12590
88
+ simtools/job_execution/job_manager.py,sha256=xWZlf1t6RuKvTEp1nNkNkkrUtR6smulxGfV8_WN_vG8,4716
89
+ simtools/layout/array_layout.py,sha256=sk1yIEEBx2MlbNyISe6K7vnmQuyp-QAuoFPF0U6nDRo,25073
90
+ simtools/layout/array_layout_utils.py,sha256=_oxKTPsMDT2fIjhI1nka3MAkvqDSTx4nXK4jCzVfvNA,12572
89
91
  simtools/layout/geo_coordinates.py,sha256=9kKnXFi9vrfYKG_9elzFuzzssGFEUzxMubaclITkW_g,5944
90
- simtools/layout/telescope_position.py,sha256=m34taJ7LML_KBW75i3EGMK2vEHK9tqFltxa9Ojrspi0,20162
91
- simtools/model/array_model.py,sha256=-ikHJvdPitSL06Bz2SadkyMalByTnHGaDZqquQYBzyg,19020
92
- simtools/model/calibration_model.py,sha256=PqZnca86rNiKu3pExJc3fdiDwbHcB7Q9yl2pyA1orGU,1442
93
- simtools/model/camera.py,sha256=Gj9yWfAfM4GrrX5q6ZGSQy80WsOUqZaTnP7DoCYfOJ0,21403
94
- simtools/model/mirrors.py,sha256=uGCAT68WpnESv9IAgg8Xae9Z2-XgxMBL_Phnv6Ro0XQ,9151
95
- simtools/model/model_parameter.py,sha256=8a09YxcX9WS86jdj_z5po9TTkVw-xLtYSNLlbnSfkVM,19649
96
- simtools/model/model_repository.py,sha256=HvluOt11vk65MdYG9SSBAWXU9i9N-bjitsDywnGEaiw,14117
97
- simtools/model/model_utils.py,sha256=LDu2O_H-yYsnr3sjXP0EtUGtsC3kE1QtvMzYSGhqyJQ,3065
98
- simtools/model/site_model.py,sha256=0oHrVWq9YPtuQKO6gg9LdPirEfqqaFtBT0dAxUlLR_8,6181
99
- simtools/model/telescope_model.py,sha256=6wZVbNJtWAgm2iuf2zi3D3UZKVYgzxvcQhyaXfD_4_s,14094
100
- simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py,sha256=r3g2dNMCZdl6K3fvg0mcPV7C2AIc70N2bSdyYb5hY4I,15550
92
+ simtools/layout/telescope_position.py,sha256=tXXf2_kr6ouPrDXWx20vf6c-yEo11AjN8_gJ2EwL5-g,20097
93
+ simtools/model/array_model.py,sha256=tlJn36uTD68zIbjE1QamwgdfH6lknpUro_vuBS6FOz8,18227
94
+ simtools/model/calibration_model.py,sha256=omSgM2CIMh7HB2Bnm3OFjvWRMNBfkpGd6AnYayAEGiY,1563
95
+ simtools/model/camera.py,sha256=ewqhjovhxIX8a2hEHzxqZy2Mcfp621xk2nikxGDXDO4,21381
96
+ simtools/model/mirrors.py,sha256=g0eS4qFzUmo9UIakC4CDo7ourAGuFd3EfzL9RdrF9zg,9098
97
+ simtools/model/model_parameter.py,sha256=_NJTj6aqcmLgTqC_qZeuAzgW2bmA0BoJLFm1U5gTFV8,22828
98
+ simtools/model/model_repository.py,sha256=NWjj46Fd4hba4YqjTM2sUQOHUPkgj_YEGXlb5iNCZE8,17932
99
+ simtools/model/model_utils.py,sha256=OUHsOKOhXDVCTRpSRCO4iJZncUB_6hy0uUaF2AeooI0,2963
100
+ simtools/model/site_model.py,sha256=ueu1t_fkpTZ-OnMYVlJyKbfySkqn_tVQN90NcyzSrTw,7060
101
+ simtools/model/telescope_model.py,sha256=No2BtJu5flgMTP6QoSwfsGd6RXfqabOobqvtftQlek0,14432
102
+ simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py,sha256=ahUJYM4SWZAAk4qXTQlBEkhmLfZRntXRaTG6FmL3tNs,15503
101
103
  simtools/production_configuration/derive_corsika_limits.py,sha256=j0qQYlWBY112Jfr9ZH7Yq6ud-nsLRbBV6B5xoTLuNZw,10546
102
- simtools/production_configuration/derive_production_statistics.py,sha256=q7uW044MVcbGzwzVYpXcSvlRD8qcif8FyYP7mqtuNWs,5761
104
+ simtools/production_configuration/derive_production_statistics.py,sha256=njjQuKgm-yRvykLLuivXF3cmCduAYKunvL13KbEWjQ0,5716
103
105
  simtools/production_configuration/derive_production_statistics_handler.py,sha256=WPo29fUMjHFgQKu4AL01XrzIx4d846ddezdtLpH4USU,6187
104
106
  simtools/production_configuration/generate_production_grid.py,sha256=DlR2hqyG0jU1yU21QU38ucAdmHZWPa7snFW26vmGEuI,13323
105
- simtools/production_configuration/interpolation_handler.py,sha256=97zk7XR8yNMs4dEqcrfjpma6SgUDlqaXcsfAIw1rhuY,14131
107
+ simtools/production_configuration/interpolation_handler.py,sha256=CWJa9WfBhHLTJDnNODzU3GxU7fF6ni_fNPS-UwGyzxo,14095
106
108
  simtools/production_configuration/merge_corsika_limits.py,sha256=t9JDvrpkP33ISCRCPVLE8GunjHDF_RYlRPqXI469l0w,20838
107
109
  simtools/ray_tracing/incident_angles.py,sha256=sbrj20XAikRH_jH-tW88PQveT97w9mdAzVjvp0OsAns,25967
108
- simtools/ray_tracing/mirror_panel_psf.py,sha256=w4aGUlbS7XMBwv4dndpnZoBhZtOp0sZ8SIuPXrHqkp8,11241
109
- simtools/ray_tracing/psf_analysis.py,sha256=kw431lbLNd8nm7FoOkCZwSw1iXvNIit-WKX9n-GMLJw,18164
110
- simtools/ray_tracing/psf_parameter_optimisation.py,sha256=26_bkJOMJARKCXqCZ7vliVQ5IBDRtzy6f0zDs4wVt0k,45681
111
- simtools/ray_tracing/ray_tracing.py,sha256=g9z8K6HbxR0O-Kqdw59KpSbM_TI-q5flH_pw9WisbzY,21985
112
- simtools/reporting/docs_auto_report_generator.py,sha256=i4GGtpKKN0cVtGPEK4m3tpOrD8-PP5uot4kRHUujt8U,9236
113
- simtools/reporting/docs_read_parameters.py,sha256=f3crQUBe_VxMY3AFlVLLDO6S-a_q8bDQEo2CiyE1Y5A,39852
110
+ simtools/ray_tracing/mirror_panel_psf.py,sha256=0TGSkeXmRSo25mIhoNqrEQJgMWK-oPk7TT-8VkuMsxc,11267
111
+ simtools/ray_tracing/psf_analysis.py,sha256=vZGPThRHfV3RNPeZF97jH2zoK2PlJoqPsJhkz17F_PQ,18140
112
+ simtools/ray_tracing/psf_parameter_optimisation.py,sha256=E9jy2o-U5ORSMaOjWuQndJiOM92FHC1zLLcFWISkTgg,45673
113
+ simtools/ray_tracing/ray_tracing.py,sha256=gPnhEBPlSE51jt3k3brvtuJZQT4MejPeqQm1alLaUqU,21959
114
+ simtools/reporting/docs_auto_report_generator.py,sha256=Ee-zBf4pQahaN4RYv2aN_UEngFVMbzVqr_X3l_Q2vy8,14098
115
+ simtools/reporting/docs_read_parameters.py,sha256=TGn-6Y_u_sPW3EjkMYvoVXrL3qlsxLdGMhRjFQTqLNo,39559
114
116
  simtools/resources/array-element-ids.json,sha256=W8cijMEmHJ28RLIyixVVdHr16-iUbIuURT9QIoIzCoY,4566
115
117
  simtools/resources/array_elements.yml,sha256=MG-TyocXQCj6htA8af4nBzCxcfFZHs1XXtSfSl4kmBo,4285
116
- simtools/runners/corsika_runner.py,sha256=hVV84OYIjS9LmNYhoXoHGbvu0sx7o5epqy5e2v6Ao_o,9188
117
- simtools/runners/corsika_simtel_runner.py,sha256=p85d3KC18lP-_c7LEQwSAeK-VFCSW3RrTViLljk9Ids,7543
118
+ simtools/runners/corsika_runner.py,sha256=TB9sF2-mgzWf9wUKdw90XtkFiolW_RqKmmihMosiu7g,9115
119
+ simtools/runners/corsika_simtel_runner.py,sha256=g-u1t0a2oT9kR0mvEr4uh0b1TLJwev2nAZdJ1oymqNw,7508
118
120
  simtools/runners/runner_services.py,sha256=nYmfgvLQQdkNo-7QKxsx80u_BD6rlpymO5NdsRe6ii4,10292
119
- simtools/runners/simtel_runner.py,sha256=0S_iqi_HewbCbqkEwNA4uBbzRXDIe5BZaZXP4h0ufBY,8362
121
+ simtools/runners/simtel_runner.py,sha256=HCD7upSloWJDTPtDcwbsyXKSOs-ujhMX_4zqQpJ1ZMs,8284
120
122
  simtools/runners/simtools_runner.py,sha256=i9E50ha1-vOy5yRSP6BbjuP5PaHKLLj2rD74Pzah2cg,8262
121
123
  simtools/schemas/application_workflow.metaschema.yml,sha256=Gd2YIXT7DgdnlP0P-08ywGlle3RMhFqdPcHdrxNw6Gk,5657
122
124
  simtools/schemas/common_definitions.schema.yml,sha256=_vzwIM-qIqi32HrjMHIH0dO0STeCZFsAIli6acFol7Y,1180
@@ -126,7 +128,7 @@ simtools/schemas/model_parameter_and_data_schema.metaschema.yml,sha256=ktpW7ym7H
126
128
  simtools/schemas/plot_configuration.metaschema.yml,sha256=ALz6d3btyr0ao50nJ0tShMlMgR4SKP6MRC_qxiPjwmc,4408
127
129
  simtools/schemas/production_configuration_metrics.schema.yml,sha256=9IOmDjtAyH-8Ti5hoxKKjZ0kl7E7iKBBDvTL8SSv_To,1935
128
130
  simtools/schemas/production_tables.schema.yml,sha256=diTGV8z8K4yx4YDv0ZEEpTGimijru0PsvZMhaMN26_A,1428
129
- simtools/schemas/simulation_models_info.schema.yml,sha256=w4u19LejY00qbi0ElXwnaKUviGkxGW_11e0jeqeyOdM,2165
131
+ simtools/schemas/simulation_models_info.schema.yml,sha256=ycu5nubgScdNteiSnHrL87AW73nR6kTV9m4_n7F63ZA,2192
130
132
  simtools/schemas/input/MST_mirror_2f_measurements.schema.yml,sha256=2kFAIxgR36XIrTNvfvPB16OdnpkNdkXeCGnI01Tbc3Y,1124
131
133
  simtools/schemas/input/single_pe_spectrum.schema.yml,sha256=hLD8JgChI1eV2yl7E_e_uvQebsRuG18ag_4aEiLjToM,1244
132
134
  simtools/schemas/model_parameters/adjust_gain.schema.yml,sha256=n3k7JCkxDyl7LgU0y6-1BmxMO3yfy_Ab_emef4tEUTw,821
@@ -369,44 +371,45 @@ simtools/schemas/model_parameters/transit_time_compensate_error.schema.yml,sha25
369
371
  simtools/schemas/model_parameters/transit_time_compensate_step.schema.yml,sha256=8kL4uvcGDvP6Mqn3IOt3XCAav-uDpKBf0NdElXYwYq8,910
370
372
  simtools/schemas/model_parameters/transit_time_error.schema.yml,sha256=E7AkZajkoEPNS9Q6ePKrwAL2MzJY2xyphI58rx1TMTo,1434
371
373
  simtools/schemas/model_parameters/transit_time_jitter.schema.yml,sha256=hIbmjGAKWt3sCG1nKqVlmdNQFSd0YIw_8XAapl2dy6U,753
374
+ simtools/schemas/model_parameters/transit_time_random.schema.yml,sha256=M9VdVDXo7Yu27cLJuD0S9oJk_QofB55ByteGPJX3Jms,770
372
375
  simtools/schemas/model_parameters/trigger_current_limit.schema.yml,sha256=WTz-6fNrY9RSyVmAM7R7Bz-1gT0aJtl7GZ2urtDNEsk,677
373
376
  simtools/schemas/model_parameters/trigger_delay_compensation.schema.yml,sha256=U8ctXld0Ukz3JaVR0UGlxewzk-4RlsE3Gdq0hMW4qfQ,1476
374
377
  simtools/schemas/model_parameters/trigger_pixels.schema.yml,sha256=3-n2PBl9LQ4PBVOgR__XQpFYGUYYS_Jju_pvGSucTq8,1012
375
- simtools/simtel/simtel_config_reader.py,sha256=_rDPaD2Fleqx8XlPVy97KnWYvZQBZdrDjZr9QNKM5PU,15039
376
- simtools/simtel/simtel_config_writer.py,sha256=3cSVDAJHd9f0mrt7RzKNP7ZIhwI8ADnz_wgSaOrm050,26818
378
+ simtools/simtel/simtel_config_reader.py,sha256=_R1eLpZPqSu2MbiEfN1zYTdr8jJl1uameGyaxupACe0,15005
379
+ simtools/simtel/simtel_config_writer.py,sha256=SUT_tw5rM1DxEhoC3phMQ_SSbvQXPh2IusvYPCwltKc,30865
377
380
  simtools/simtel/simtel_io_event_histograms.py,sha256=M0EnmiS9AbzwLyZapkP2JJc3Dze40NoPTHKtWHxe1kg,17688
378
381
  simtools/simtel/simtel_io_event_reader.py,sha256=YPP4Cs4NncTIXxbu40veksnJ_3_cZ00-56kGoEuR8so,14595
379
382
  simtools/simtel/simtel_io_event_writer.py,sha256=8iK4qvCEjA3X8HB6QdcMWD1w0cC1UEdAm_XRuOM-sGE,12739
380
383
  simtools/simtel/simtel_io_file_info.py,sha256=T2xtdz-0pDZFf7cJw7brBxA9OHbDuBossTzY60RHFfw,1775
381
- simtools/simtel/simtel_io_metadata.py,sha256=PoWIfA4QLDDjcMomteSxzgjnfvlEz7JGZU-UW2xR2TI,6075
384
+ simtools/simtel/simtel_io_metadata.py,sha256=1BA32c-wHVD2MMfrXYdQuYPq2uPDyWBIpNGbwRMwjtc,6084
382
385
  simtools/simtel/simtel_table_reader.py,sha256=m4h74MuvnA15q1-4-esypvBKYPyeZS-1CqdvyJ4HVXc,15101
383
- simtools/simtel/simulator_array.py,sha256=aaEJKkDEwScaJP-gcrskv4Qv2bDhPfR2gnZsMan4uNY,9129
384
- simtools/simtel/simulator_camera_efficiency.py,sha256=j3r6b5tG0-dUdkrKOBb-_R4V9Dv-bvnhaJyGHScwF30,11771
385
- simtools/simtel/simulator_light_emission.py,sha256=-qxNSKDnksrHxkeQNsKto3PMGjO1geMnrmCwN0c2bJg,20010
386
- simtools/simtel/simulator_ray_tracing.py,sha256=3uDE2RMyNytXkKJKZVdoAglx0e_XuGdh89qvAsB2bss,11560
387
- simtools/testing/assertions.py,sha256=cJm6FtIJTFnTr7wqQ17yqCsrm7YVaxD3vfXoTc0GCm4,4765
388
- simtools/testing/configuration.py,sha256=Ysz3v4S1l8H_RXXAxSuLsjJvlNLm08LkUAuV2DpPZiE,8017
386
+ simtools/simtel/simulator_array.py,sha256=wuY4Xfg7PXzN95hihXfAHosgUl1YN5FCdvfL6rvXoAU,8705
387
+ simtools/simtel/simulator_camera_efficiency.py,sha256=BQg1dAD7sqCJitBJiGSk7VOZCjF01OeUXk5qyh_0I18,11730
388
+ simtools/simtel/simulator_light_emission.py,sha256=P3VEoxoXeIaJfIGstJ2rCNwfwJy9wGjA-eEnd-aXBNI,19967
389
+ simtools/simtel/simulator_ray_tracing.py,sha256=ssgcFMSFZNIwzDeHuo7-fN-djNbru59a2pK-iZL33KA,11525
390
+ simtools/testing/assertions.py,sha256=B8fc1x--ITmHy6aWXmZ_dg6k-bse10JbO-HUW7GcCD4,6350
391
+ simtools/testing/configuration.py,sha256=kAjPzSDvgKJe-N2z5H3U2_fwjrbCZ20YDFqA1z921Mg,8291
389
392
  simtools/testing/helpers.py,sha256=LTVlkt36gQ0AtIK2mN6toI3vxwUPCjV5VMLA0nkS07U,1829
390
393
  simtools/testing/log_inspector.py,sha256=v5mtOz9tgBkCJuYYyDm8zV3x7yG7ctTrBNZCgox9l5w,1437
391
394
  simtools/testing/sim_telarray_metadata.py,sha256=VeqO_HcZ7QKBF4sghEG1TY5h2jTojUSxt8qfww-_aiw,7945
392
- simtools/testing/validate_output.py,sha256=9MGJE_U3VZicnDimR7lbr4PpYZgLdLnPisJttMBc8GM,13399
393
- simtools/utils/general.py,sha256=cOJmyljEzvGkjxj0azh-1tRtZdqvEjDa2DknDsqcJ7g,24089
394
- simtools/utils/geometry.py,sha256=JwLVoTUfFqb0jDRDMjHlzpJAlOTSYWVyMAoCukwsE3I,9161
395
- simtools/utils/names.py,sha256=42SfLFpuasa9n8D0QjcPgATqmU4TTTXXxUsudLCipA4,22150
396
- simtools/utils/value_conversion.py,sha256=Cl-BHOZWUhWr-W_hT4CR1iLfiphd8MSNkzYEjDe6iH8,6311
395
+ simtools/testing/validate_output.py,sha256=f3LAPhdPEEZsiR5jY6C7vWK4EEfyXuWkk0Ju7DKQdL0,13300
396
+ simtools/utils/general.py,sha256=SNZNCzDnN2V-IbPsM5eqH6gcyuCf2lwx32vlAvuZhdQ,24000
397
+ simtools/utils/geometry.py,sha256=VZlovI6E6p6EloqeM9kJ-YgbilZ_4dNIwoJ97evP5B0,9098
398
+ simtools/utils/names.py,sha256=NBldXuTCEfiRSHaLT4gn2AH2y2bTW6QQIfyrC1GiO24,21836
399
+ simtools/utils/value_conversion.py,sha256=UNPNjqCeuYRscZ6UJbVK2VhbViU97TsYulc7s23Mwao,6482
397
400
  simtools/visualization/legend_handlers.py,sha256=QhUeZwuftA1VxfcMQ40KrwnPaD2FU95fNgZfX68YTJE,9792
398
- simtools/visualization/plot_array_layout.py,sha256=1SMiZwNuYCQu7Uf5p8Extie1pQBSKtxyYRsG_J3mG0I,7305
401
+ simtools/visualization/plot_array_layout.py,sha256=5gQa29ooajwftCuBTZ2eEKZjaqgw9RMRAiG1-D_2RpE,10613
399
402
  simtools/visualization/plot_camera.py,sha256=dLXKHYfY_elqaKhj91HlntASoVixTrpc_Kf0jPU8RmU,11167
400
403
  simtools/visualization/plot_corsika_histograms.py,sha256=6DV0NT-b-yYZ9dbCgSU3UCUHJTTWkthBsXaYgrF7JAg,21874
401
- simtools/visualization/plot_incident_angles.py,sha256=aAlLNHoTOoVF9uKSvwbZrPjsSPNkJVU-sKjiD-5ArXY,13460
402
- simtools/visualization/plot_pixels.py,sha256=CrgO_sJNYfmiRwUSKL9dpQvzkGw73Jd-4sZW_1KUfTI,20570
403
- simtools/visualization/plot_psf.py,sha256=zd6amCW5ERd_DWVq3fGT-sDxK1p_z043Dh0sT_bVxnw,25307
404
+ simtools/visualization/plot_incident_angles.py,sha256=kj_YcBrFRR6C9IUe4bhekfXR9UrPBmwXBtSvrFdMRf0,13424
405
+ simtools/visualization/plot_pixels.py,sha256=QsMsRbjXyP7i15zTGUZWKvkVo8RRw4Pp-47xPRerr9Y,20564
406
+ simtools/visualization/plot_psf.py,sha256=0y3sIilriIqarFSv-yfod-1wtySTNBkq5ST79_8sFsU,25299
404
407
  simtools/visualization/plot_simtel_event_histograms.py,sha256=o9fPkKE1568MRumPVRyBs8ah5eyTN2mCLXseEwAy4RA,12751
405
- simtools/visualization/plot_simtel_events.py,sha256=Sfqh1WWBhbZMRdAklZHluybOdqd_0Tn7iLjg_ALP-p8,31743
406
- simtools/visualization/plot_tables.py,sha256=YfGrT1rj7wijKUgrFROrQ057SE0MbvSzxbkCdMLMEjw,8668
407
- simtools/visualization/visualize.py,sha256=5NkEf-ZHkyA4eUR0YK64s3Sugzj2sizSmRAKJQBpSso,18974
408
- gammasimtools-0.22.0.dist-info/METADATA,sha256=PUl1D6k_jUAhrLuwUUm2Hj6DFO_SVY_4A0gBW4vrw0U,5926
409
- gammasimtools-0.22.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
410
- gammasimtools-0.22.0.dist-info/entry_points.txt,sha256=F3seqX_FXRQhXNmk2Hcwi4YnWqTNQidJ06rw61RzcYc,5030
411
- gammasimtools-0.22.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
412
- gammasimtools-0.22.0.dist-info/RECORD,,
408
+ simtools/visualization/plot_simtel_events.py,sha256=zvfKboltaiz0yTPAv2_Is29hJlHbPMgofFhBEWNh0Ws,31450
409
+ simtools/visualization/plot_tables.py,sha256=T3pfuj8YKeCZhef9KY2ne8dIzxnYnKiWDDN7aptjHXY,8662
410
+ simtools/visualization/visualize.py,sha256=0vs7rt6OTCdrai7AO3bbd4sLuh1oEb_zAG_k53dgZVo,18815
411
+ gammasimtools-0.24.0.dist-info/METADATA,sha256=i7KEt2rKteSU--2sgVex6Iqpzj15ByTWPjDUc03yGi4,5977
412
+ gammasimtools-0.24.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
413
+ gammasimtools-0.24.0.dist-info/entry_points.txt,sha256=F3seqX_FXRQhXNmk2Hcwi4YnWqTNQidJ06rw61RzcYc,5030
414
+ gammasimtools-0.24.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
415
+ gammasimtools-0.24.0.dist-info/RECORD,,
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.22.0'
32
- __version_tuple__ = version_tuple = (0, 22, 0)
31
+ __version__ = version = '0.24.0'
32
+ __version_tuple__ = version_tuple = (0, 24, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -0,0 +1,118 @@
1
+ """Application control utilities for startup and shutdown simtools applications."""
2
+
3
+ import logging
4
+ from dataclasses import dataclass
5
+ from pathlib import Path
6
+
7
+ import simtools.utils.general as gen
8
+ from simtools.io import io_handler
9
+
10
+
11
+ @dataclass
12
+ class ApplicationContext:
13
+ """Container for common application context elements."""
14
+
15
+ args: dict
16
+ db_config: dict
17
+ logger: logging.Logger
18
+ io_handler: io_handler.IOHandler | None
19
+
20
+
21
+ def startup_application(parse_function, setup_io_handler=True, logger_name=None):
22
+ """
23
+ Initialize common application startup tasks.
24
+
25
+ This function handles the repetitive startup tasks common to most simtools applications:
26
+
27
+ - Parse command line arguments and configuration
28
+ - Set up logging with appropriate level
29
+ - Optionally initialize IOHandler
30
+
31
+ Parameters
32
+ ----------
33
+ parse_function : Callable
34
+ Function that parses configuration and returns (args_dict, db_config) tuple.
35
+ This should be the application's _parse() function.
36
+ setup_io_handler : bool, optional
37
+ Whether to initialize and return an IOHandler instance. Default is True.
38
+ logger_name : str, optional
39
+ Name for the logger. If None, uses the root logger. Default is None.
40
+
41
+ Returns
42
+ -------
43
+ args_dict : dict
44
+ Parsed command line arguments and configuration.
45
+ db_config : dict
46
+ Database configuration dictionary.
47
+ logger : logging.Logger
48
+ Configured logger instance.
49
+ io_handler_instance : io_handler.IOHandler or None
50
+ IOHandler instance if setup_io_handler=True, None otherwise.
51
+
52
+ Examples
53
+ --------
54
+ Basic usage in an application:
55
+
56
+ .. code-block:: python
57
+
58
+ def main():
59
+ app_context = startup_application(_parse)
60
+
61
+ # Application-specific code follows
62
+ app_context.logger.info("Starting application")
63
+ # ... rest of application logic
64
+
65
+ Usage without IOHandler:
66
+
67
+ .. code-block:: python
68
+
69
+ def main():
70
+ app_context = startup_application(_parse, setup_io_handler=False)
71
+
72
+ # Application-specific code follows
73
+ app_context.logger.info("Starting application")
74
+ # ... rest of application logic
75
+ """
76
+ args_dict, db_config = parse_function()
77
+
78
+ if logger_name:
79
+ logger = logging.getLogger(logger_name)
80
+ else:
81
+ logger = logging.getLogger()
82
+ logger.setLevel(gen.get_log_level_from_user(args_dict["log_level"]))
83
+
84
+ io_handler_instance = io_handler.IOHandler() if setup_io_handler else None
85
+
86
+ return ApplicationContext(
87
+ args=args_dict,
88
+ db_config=db_config,
89
+ logger=logger,
90
+ io_handler=io_handler_instance,
91
+ )
92
+
93
+
94
+ def get_application_label(file_path):
95
+ """
96
+ Get application label from file path.
97
+
98
+ This is a convenience function to extract the application name from __file__.
99
+
100
+ Parameters
101
+ ----------
102
+ file_path : str
103
+ The __file__ variable from the calling application.
104
+
105
+ Returns
106
+ -------
107
+ str
108
+ Application label (filename without extension).
109
+
110
+ Examples
111
+ --------
112
+ .. code-block:: python
113
+
114
+ def main():
115
+ label = get_application_label(__file__)
116
+ # label will be the filename without .py extension
117
+ """
118
+ return Path(file_path).stem
@@ -71,18 +71,17 @@ Example of a secondary mirror incident angle plot for a SST:
71
71
  :width: 49 %
72
72
  """
73
73
 
74
- import logging
75
- from pathlib import Path
76
-
74
+ from simtools.application_control import get_application_label, startup_application
77
75
  from simtools.configuration import configurator
76
+ from simtools.configuration.commandline_parser import CommandLineParser
78
77
  from simtools.ray_tracing.incident_angles import IncidentAnglesCalculator
79
78
  from simtools.visualization.plot_incident_angles import plot_incident_angles
80
79
 
81
80
 
82
- def _parse(label):
81
+ def _parse():
83
82
  """Parse command line configuration."""
84
83
  config = configurator.Configurator(
85
- label=label,
84
+ label=get_application_label(__file__),
86
85
  description=(
87
86
  "Calculate photon incident angles on focal plane and primary/secondary mirrors."
88
87
  ),
@@ -104,7 +103,7 @@ def _parse(label):
104
103
  config.parser.add_argument(
105
104
  "--number_of_photons",
106
105
  help="Number of star photons to trace (per run)",
107
- type=int,
106
+ type=CommandLineParser.scientific_int,
108
107
  default=10000,
109
108
  required=False,
110
109
  )
@@ -135,35 +134,31 @@ def _parse(label):
135
134
 
136
135
 
137
136
  def main():
138
- """Application to calculate incident angles using ray tracing."""
139
- label = Path(__file__).stem
140
- args_dict, db_config = _parse(label)
141
-
142
- logger = logging.getLogger()
143
- logger.setLevel(logging.INFO)
137
+ """Calculate photon incident angles on focal plane and primary/secondary mirrors."""
138
+ app_context = startup_application(_parse)
144
139
 
145
- logger.info("Starting calculation of incident angles")
140
+ app_context.logger.info("Starting calculation of incident angles")
146
141
 
147
- output_dir = Path(args_dict.get("output_path", "./"))
148
- base_label = args_dict.get("label", label)
149
- telescope_name = args_dict["telescope"]
142
+ output_dir = app_context.io_handler.get_output_directory()
143
+ base_label = app_context.args.get("label", get_application_label(__file__))
144
+ telescope_name = app_context.args["telescope"]
150
145
  label_with_telescope = f"{base_label}_{telescope_name}"
151
146
 
152
147
  calculator = IncidentAnglesCalculator(
153
- simtel_path=args_dict["simtel_path"],
154
- db_config=db_config,
155
- config_data=args_dict,
148
+ simtel_path=app_context.args["simtel_path"],
149
+ db_config=app_context.db_config,
150
+ config_data=app_context.args,
156
151
  output_dir=output_dir,
157
152
  label=base_label,
158
153
  )
159
- offsets = [float(v) for v in args_dict.get("off_axis_angles", [0.0])]
154
+ offsets = [float(v) for v in app_context.args.get("off_axis_angles", [0.0])]
160
155
 
161
156
  results_by_offset = calculator.run_for_offsets(offsets)
162
157
  plot_incident_angles(
163
158
  results_by_offset,
164
159
  output_dir,
165
160
  label_with_telescope,
166
- debug_plots=args_dict.get("debug_plots", False),
161
+ debug_plots=app_context.args.get("debug_plots", False),
167
162
  )
168
163
  total = sum(len(t) for t in results_by_offset.values())
169
164
  summary_msg = (
@@ -172,7 +167,7 @@ def main():
172
167
  )
173
168
  if total < 1_000_000:
174
169
  summary_msg += " (below 1e6; results may be statistically unstable)"
175
- logger.info(summary_msg)
170
+ app_context.logger.info(summary_msg)
176
171
 
177
172
 
178
173
  if __name__ == "__main__":