gammasimtools 0.22.0__py3-none-any.whl → 0.23.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.
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.23.0.dist-info}/METADATA +2 -1
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.23.0.dist-info}/RECORD +114 -112
- simtools/_version.py +2 -2
- simtools/application_control.py +118 -0
- simtools/applications/calculate_incident_angles.py +17 -22
- simtools/applications/convert_all_model_parameters_from_simtel.py +28 -43
- simtools/applications/convert_geo_coordinates_of_array_elements.py +26 -45
- simtools/applications/convert_model_parameter_from_simtel.py +21 -41
- simtools/applications/db_add_file_to_db.py +12 -13
- simtools/applications/db_add_simulation_model_from_repository_to_db.py +20 -33
- simtools/applications/db_add_value_from_json_to_db.py +28 -23
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +19 -34
- simtools/applications/db_generate_compound_indexes.py +11 -13
- simtools/applications/db_get_array_layouts_from_db.py +19 -39
- simtools/applications/db_get_file_from_db.py +15 -17
- simtools/applications/db_get_parameter_from_db.py +33 -35
- simtools/applications/db_inspect_databases.py +10 -11
- simtools/applications/db_upload_model_repository.py +13 -31
- simtools/applications/derive_ctao_array_layouts.py +16 -21
- simtools/applications/derive_mirror_rnda.py +9 -14
- simtools/applications/derive_photon_electron_spectrum.py +7 -10
- simtools/applications/derive_psf_parameters.py +13 -20
- simtools/applications/derive_trigger_rates.py +6 -9
- simtools/applications/docs_produce_array_element_report.py +22 -23
- simtools/applications/docs_produce_calibration_reports.py +26 -24
- simtools/applications/docs_produce_model_parameter_reports.py +15 -22
- simtools/applications/docs_produce_simulation_configuration_report.py +21 -22
- simtools/applications/generate_array_config.py +14 -33
- simtools/applications/generate_corsika_histograms.py +22 -43
- simtools/applications/generate_default_metadata.py +15 -36
- simtools/applications/generate_regular_arrays.py +11 -15
- simtools/applications/generate_simtel_event_data.py +23 -33
- simtools/applications/maintain_simulation_model_add_production.py +12 -19
- simtools/applications/maintain_simulation_model_compare_productions.py +10 -12
- simtools/applications/maintain_simulation_model_verify_production_tables.py +8 -11
- simtools/applications/merge_tables.py +14 -23
- simtools/applications/plot_array_layout.py +77 -54
- simtools/applications/plot_simtel_events.py +11 -13
- simtools/applications/plot_tabular_data.py +17 -38
- simtools/applications/plot_tabular_data_for_model_parameter.py +16 -23
- simtools/applications/print_version.py +14 -42
- simtools/applications/production_derive_corsika_limits.py +5 -9
- simtools/applications/production_derive_statistics.py +12 -25
- simtools/applications/production_generate_grid.py +20 -48
- simtools/applications/production_merge_corsika_limits.py +17 -21
- simtools/applications/run_application.py +12 -32
- simtools/applications/simulate_flasher.py +21 -25
- simtools/applications/simulate_illuminator.py +7 -14
- simtools/applications/simulate_pedestals.py +13 -13
- simtools/applications/simulate_prod.py +21 -33
- simtools/applications/simulate_prod_htcondor_generator.py +11 -25
- simtools/applications/submit_array_layouts.py +15 -18
- simtools/applications/submit_data_from_external.py +18 -34
- simtools/applications/submit_model_parameter_from_external.py +27 -40
- simtools/applications/validate_camera_efficiency.py +23 -21
- simtools/applications/validate_camera_fov.py +21 -26
- simtools/applications/validate_cumulative_psf.py +27 -35
- simtools/applications/validate_file_using_schema.py +15 -33
- simtools/applications/validate_optics.py +26 -32
- simtools/camera/camera_efficiency.py +0 -2
- simtools/configuration/commandline_parser.py +32 -4
- simtools/configuration/configurator.py +0 -5
- simtools/corsika/corsika_config.py +0 -5
- simtools/data_model/data_reader.py +0 -2
- simtools/data_model/metadata_collector.py +0 -2
- simtools/data_model/model_data_writer.py +0 -2
- simtools/data_model/validate_data.py +0 -2
- simtools/db/db_handler.py +0 -2
- simtools/io/hdf5_handler.py +0 -5
- simtools/io/legacy_data_handler.py +0 -5
- simtools/job_execution/job_manager.py +0 -3
- simtools/layout/array_layout.py +0 -2
- simtools/layout/telescope_position.py +0 -2
- simtools/model/array_model.py +2 -4
- simtools/model/calibration_model.py +0 -2
- simtools/model/camera.py +0 -2
- simtools/model/mirrors.py +0 -2
- simtools/model/model_parameter.py +30 -7
- simtools/model/model_utils.py +0 -5
- simtools/model/site_model.py +0 -2
- simtools/model/telescope_model.py +0 -2
- simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py +0 -2
- simtools/production_configuration/derive_production_statistics.py +0 -2
- simtools/production_configuration/interpolation_handler.py +0 -2
- simtools/ray_tracing/psf_analysis.py +0 -2
- simtools/ray_tracing/ray_tracing.py +0 -2
- simtools/reporting/docs_auto_report_generator.py +108 -0
- simtools/reporting/docs_read_parameters.py +1 -7
- simtools/runners/corsika_runner.py +0 -2
- simtools/runners/corsika_simtel_runner.py +0 -2
- simtools/runners/simtel_runner.py +0 -2
- simtools/schemas/model_parameters/transit_time_random.schema.yml +29 -0
- simtools/simtel/simtel_config_reader.py +0 -2
- simtools/simtel/simtel_config_writer.py +31 -13
- simtools/simtel/simtel_io_metadata.py +3 -3
- simtools/simtel/simulator_array.py +9 -21
- simtools/simtel/simulator_camera_efficiency.py +0 -2
- simtools/simtel/simulator_light_emission.py +1 -3
- simtools/simtel/simulator_ray_tracing.py +0 -2
- simtools/simulator.py +0 -5
- simtools/testing/assertions.py +2 -2
- simtools/testing/configuration.py +17 -4
- simtools/utils/general.py +5 -13
- simtools/utils/geometry.py +0 -5
- simtools/utils/names.py +1 -13
- simtools/version.py +61 -0
- simtools/visualization/plot_array_layout.py +129 -23
- simtools/visualization/plot_incident_angles.py +0 -2
- simtools/visualization/plot_simtel_events.py +0 -11
- simtools/visualization/visualize.py +0 -12
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.23.0.dist-info}/WHEEL +0 -0
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.23.0.dist-info}/entry_points.txt +0 -0
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.23.0.dist-info}/licenses/LICENSE +0 -0
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.23.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.
|
|
3
|
+
Version: 0.23.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,123 @@
|
|
|
1
|
-
gammasimtools-0.
|
|
1
|
+
gammasimtools-0.23.0.dist-info/licenses/LICENSE,sha256=a2q6KVo33OrRL_7ZSk7BYOT8KkUNV3WAMZW8CHEDkDU,1548
|
|
2
2
|
simtools/__init__.py,sha256=yvx0i5ygbllmMtF2Tzy7pohvhQNH_dBdj0Bt8bKFYpc,231
|
|
3
|
-
simtools/_version.py,sha256=
|
|
3
|
+
simtools/_version.py,sha256=qi2tdZyogcCsy661lry_BPvWPoopE76gBbefJuLSzfw,706
|
|
4
|
+
simtools/application_control.py,sha256=_M6msqIsVepQOZAhTQnequmP6W7b4gefXL5UJndRCyw,3301
|
|
4
5
|
simtools/constants.py,sha256=3N5bc8MlMWRzcg8EeSJweoioEo_uhStMxAzdb85Apvw,966
|
|
5
6
|
simtools/dependencies.py,sha256=bDMw1Nyjya0-TnWp_K6LyV6JbO_aJDARa6KSGXhLcqc,6572
|
|
6
|
-
simtools/simulator.py,sha256=
|
|
7
|
+
simtools/simulator.py,sha256=FJavK6JvDPAptg02qA4YD85pDKvigGxlbUhOfkda7PA,28733
|
|
7
8
|
simtools/telescope_trigger_rates.py,sha256=_2NUG8UnhfpMGhaEDgHUOOdnweCUcRTrTOkGGYInHqo,3984
|
|
8
|
-
simtools/version.py,sha256=
|
|
9
|
-
simtools/applications/calculate_incident_angles.py,sha256=
|
|
10
|
-
simtools/applications/convert_all_model_parameters_from_simtel.py,sha256=
|
|
11
|
-
simtools/applications/convert_geo_coordinates_of_array_elements.py,sha256
|
|
12
|
-
simtools/applications/convert_model_parameter_from_simtel.py,sha256=
|
|
13
|
-
simtools/applications/db_add_file_to_db.py,sha256=
|
|
14
|
-
simtools/applications/db_add_simulation_model_from_repository_to_db.py,sha256=
|
|
15
|
-
simtools/applications/db_add_value_from_json_to_db.py,sha256=
|
|
16
|
-
simtools/applications/db_generate_compound_indexes.py,sha256=
|
|
17
|
-
simtools/applications/db_get_array_layouts_from_db.py,sha256=
|
|
18
|
-
simtools/applications/db_get_file_from_db.py,sha256=
|
|
19
|
-
simtools/applications/db_get_parameter_from_db.py,sha256=
|
|
20
|
-
simtools/applications/db_inspect_databases.py,sha256=
|
|
21
|
-
simtools/applications/db_upload_model_repository.py,sha256=
|
|
22
|
-
simtools/applications/derive_ctao_array_layouts.py,sha256=
|
|
23
|
-
simtools/applications/derive_mirror_rnda.py,sha256=
|
|
24
|
-
simtools/applications/derive_photon_electron_spectrum.py,sha256
|
|
25
|
-
simtools/applications/derive_psf_parameters.py,sha256=
|
|
26
|
-
simtools/applications/derive_trigger_rates.py,sha256=
|
|
27
|
-
simtools/applications/docs_produce_array_element_report.py,sha256=
|
|
28
|
-
simtools/applications/docs_produce_calibration_reports.py,sha256=
|
|
29
|
-
simtools/applications/docs_produce_model_parameter_reports.py,sha256=
|
|
30
|
-
simtools/applications/docs_produce_simulation_configuration_report.py,sha256=
|
|
31
|
-
simtools/applications/generate_array_config.py,sha256=
|
|
32
|
-
simtools/applications/generate_corsika_histograms.py,sha256=
|
|
33
|
-
simtools/applications/generate_default_metadata.py,sha256=
|
|
34
|
-
simtools/applications/generate_regular_arrays.py,sha256=
|
|
35
|
-
simtools/applications/generate_simtel_event_data.py,sha256=
|
|
36
|
-
simtools/applications/maintain_simulation_model_add_production.py,sha256=
|
|
37
|
-
simtools/applications/maintain_simulation_model_compare_productions.py,sha256=
|
|
38
|
-
simtools/applications/maintain_simulation_model_verify_production_tables.py,sha256=
|
|
39
|
-
simtools/applications/merge_tables.py,sha256=
|
|
40
|
-
simtools/applications/plot_array_layout.py,sha256=
|
|
41
|
-
simtools/applications/plot_simtel_events.py,sha256=
|
|
42
|
-
simtools/applications/plot_tabular_data.py,sha256=
|
|
43
|
-
simtools/applications/plot_tabular_data_for_model_parameter.py,sha256=
|
|
44
|
-
simtools/applications/print_version.py,sha256=
|
|
45
|
-
simtools/applications/production_derive_corsika_limits.py,sha256
|
|
46
|
-
simtools/applications/production_derive_statistics.py,sha256=
|
|
47
|
-
simtools/applications/production_generate_grid.py,sha256=
|
|
48
|
-
simtools/applications/production_merge_corsika_limits.py,sha256=
|
|
49
|
-
simtools/applications/run_application.py,sha256=
|
|
50
|
-
simtools/applications/simulate_flasher.py,sha256=
|
|
51
|
-
simtools/applications/simulate_illuminator.py,sha256=
|
|
52
|
-
simtools/applications/simulate_pedestals.py,sha256=
|
|
53
|
-
simtools/applications/simulate_prod.py,sha256=
|
|
54
|
-
simtools/applications/simulate_prod_htcondor_generator.py,sha256=
|
|
55
|
-
simtools/applications/submit_array_layouts.py,sha256=
|
|
56
|
-
simtools/applications/submit_data_from_external.py,sha256=
|
|
57
|
-
simtools/applications/submit_model_parameter_from_external.py,sha256=
|
|
58
|
-
simtools/applications/validate_camera_efficiency.py,sha256=
|
|
59
|
-
simtools/applications/validate_camera_fov.py,sha256=
|
|
60
|
-
simtools/applications/validate_cumulative_psf.py,sha256=
|
|
61
|
-
simtools/applications/validate_file_using_schema.py,sha256=
|
|
62
|
-
simtools/applications/validate_optics.py,sha256=
|
|
63
|
-
simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=
|
|
64
|
-
simtools/camera/camera_efficiency.py,sha256=
|
|
9
|
+
simtools/version.py,sha256=aY5Rjp4wiX9CKZeXDJeQsqkMRg_vV7ixD7It4bWGRPs,5540
|
|
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=IBRLPbyuvLnYGxuGfXic6pr0VF0xwz__7ZodaQLztW0,5661
|
|
13
|
+
simtools/applications/convert_model_parameter_from_simtel.py,sha256=BRs_oOfXPpLV0XSWD0LMtrwJXn_JAGaj4CBWrc6Lm1c,3602
|
|
14
|
+
simtools/applications/db_add_file_to_db.py,sha256=H8E0z3mKCwS4CdY-WpwhsyoAOPQvvpifEBIdRrPAs4I,5715
|
|
15
|
+
simtools/applications/db_add_simulation_model_from_repository_to_db.py,sha256=vLlQuYEfdE2YYI_sP2X-H-BlyIL2IQ0qFkaSp4imPMM,4098
|
|
16
|
+
simtools/applications/db_add_value_from_json_to_db.py,sha256=Dsmn580Kg1MrrIoLmt1bPQyoudtbmJhuKs6hPQR8hgM,3899
|
|
17
|
+
simtools/applications/db_generate_compound_indexes.py,sha256=IfqexB0KoK8EDBvaRyMahnjZcrSsrZy6WdV5TFxhtUE,1491
|
|
18
|
+
simtools/applications/db_get_array_layouts_from_db.py,sha256=vHAhn8SVvTDeCHuLqzxcLzxGoqxgbrp_7ng0AXV-RwQ,4868
|
|
19
|
+
simtools/applications/db_get_file_from_db.py,sha256=kxp1vUlBm-5k_fqQaw0AQeviyTrxs4r_HGyHhQvNQE0,2464
|
|
20
|
+
simtools/applications/db_get_parameter_from_db.py,sha256=71K9AMFLgBwF2KON4dQAIK6cg9LkvpGK3SocNynZnZ4,5309
|
|
21
|
+
simtools/applications/db_inspect_databases.py,sha256=9AESXp9FTpJkzTPD8xB3vCaQZYfthbDsuaL6G7deBfw,1960
|
|
22
|
+
simtools/applications/db_upload_model_repository.py,sha256=rGB42LkNIoe-SGlEro6Zvp04Nv9RXiWwa1Y-lPETYNM,3490
|
|
23
|
+
simtools/applications/derive_ctao_array_layouts.py,sha256=YQSybPlDMB0Q5fkUyw7GnC8e-J7BRqpGgrAYgWhkCYs,4140
|
|
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=wqyNBU-_OmCEZBVb02aeX6i-3m7sKIKxRZLzjX6VbME,1883
|
|
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=rF_eYEqTaMYzy35jtK-Ei1dYaym7XMwftXiM6gkuZLc,2609
|
|
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=vMaMY0pH-hEcDRJt12unBl8BdXLid_zW2TYns2wBXWo,5830
|
|
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=AIIY_QBrOaRd-zOCICnktE9FKWLpZrbptLAGIW4eu8c,2713
|
|
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=thI_mioeriBDLtxf4tweBTCiTcba_RzbAfysJD93ZMQ,4541
|
|
61
|
+
simtools/applications/validate_cumulative_psf.py,sha256=x6qZXetd7JfFVk9sa937i3rRTk8D_cbyBiLrvr-JttA,6424
|
|
62
|
+
simtools/applications/validate_file_using_schema.py,sha256=j2x-wca3QsePq71FMN32OLwBLmTKOHIaa-8bYkvZEx4,7161
|
|
63
|
+
simtools/applications/validate_optics.py,sha256=PwaN5YMI4W3oOn07JY2_IVoXxW5vu4F7riIZg1sn1EI,6459
|
|
64
|
+
simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=s9JW1XTl4J2wZRm3UVvp-gQmEGJNhOGfnsX_sT-tjw8,5178
|
|
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=
|
|
67
|
-
simtools/configuration/configurator.py,sha256=
|
|
68
|
-
simtools/corsika/corsika_config.py,sha256=
|
|
67
|
+
simtools/configuration/commandline_parser.py,sha256=laLNPNwxqgdldIjMJGYlVMflnyDOLdURhKLcnTSuS4Q,28020
|
|
68
|
+
simtools/configuration/configurator.py,sha256=UPiGJ5k4367_CyWo4TBj4p1A-y5vDGEFtFXAQVJ4Gvg,14790
|
|
69
|
+
simtools/corsika/corsika_config.py,sha256=Njfh4B_yvS_mDGiwQ8KzTzXCxbviFNzvNQoli2vUiYA,28900
|
|
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=
|
|
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=
|
|
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=
|
|
76
|
+
simtools/data_model/model_data_writer.py,sha256=GiYfEslFSlpxqnLu_IrVkuz_K2YH25BJdnYWatYnQRI,16579
|
|
76
77
|
simtools/data_model/schema.py,sha256=11l8LToCICluth1DAYz5_IeqkQs1DoBpPGcvSwTBnko,10601
|
|
77
|
-
simtools/data_model/validate_data.py,sha256=
|
|
78
|
-
simtools/db/db_handler.py,sha256=
|
|
78
|
+
simtools/data_model/validate_data.py,sha256=jVxiTP1YlDiGqyAjb-b6vofmpxaZQY3RAtjaVkuCuRo,31078
|
|
79
|
+
simtools/db/db_handler.py,sha256=wyVze4jxqrtshn2c7lxfQfEYGl6pcogm6BuEKqzag_Y,37963
|
|
79
80
|
simtools/db/db_model_upload.py,sha256=WfhdQBdCgI2bwFxWTmgdNiG8JQVYnt5x3HVqLBMmJCY,11819
|
|
80
81
|
simtools/io/ascii_handler.py,sha256=S2fP2x6vE4nEF5g0NRARIWKs8vKU3c9SW8XtcdrwhQU,7826
|
|
81
|
-
simtools/io/hdf5_handler.py,sha256=
|
|
82
|
+
simtools/io/hdf5_handler.py,sha256=Jnya-FMhmt_jQHIMQawUZrJA6S3QFo1BGGVt2Jaj89g,4177
|
|
82
83
|
simtools/io/io_handler.py,sha256=qC4-htBLvHcHgHfsZeDJllevadpMBN7KtFPnuHSXrpI,3439
|
|
83
|
-
simtools/io/legacy_data_handler.py,sha256=
|
|
84
|
+
simtools/io/legacy_data_handler.py,sha256=ZJunKgO0gjCLHtBqVtYUAiD88ouJio1_w_XJHjjp_6U,1260
|
|
84
85
|
simtools/io/table_handler.py,sha256=YJqbam9sBjKAhHDyzFd0X0duWT1jnYPyk0La9Gp2jeo,10713
|
|
85
86
|
simtools/job_execution/htcondor_script_generator.py,sha256=7Wm1iR8PK0gbutbZATyBmhqQu-MZQI0HaJa7dJJVMHA,4248
|
|
86
|
-
simtools/job_execution/job_manager.py,sha256=
|
|
87
|
-
simtools/layout/array_layout.py,sha256=
|
|
87
|
+
simtools/job_execution/job_manager.py,sha256=xWZlf1t6RuKvTEp1nNkNkkrUtR6smulxGfV8_WN_vG8,4716
|
|
88
|
+
simtools/layout/array_layout.py,sha256=NfaNiyp4URnPlw_pc6j-vhs6YKK8bH_aU8MXxDVFxVc,25126
|
|
88
89
|
simtools/layout/array_layout_utils.py,sha256=4xV8BqO9E9RkS8cT_Gaat0wLHksBLsvvdUes7Z3M0dE,12590
|
|
89
90
|
simtools/layout/geo_coordinates.py,sha256=9kKnXFi9vrfYKG_9elzFuzzssGFEUzxMubaclITkW_g,5944
|
|
90
|
-
simtools/layout/telescope_position.py,sha256=
|
|
91
|
-
simtools/model/array_model.py,sha256
|
|
92
|
-
simtools/model/calibration_model.py,sha256=
|
|
93
|
-
simtools/model/camera.py,sha256=
|
|
94
|
-
simtools/model/mirrors.py,sha256=
|
|
95
|
-
simtools/model/model_parameter.py,sha256=
|
|
91
|
+
simtools/layout/telescope_position.py,sha256=tXXf2_kr6ouPrDXWx20vf6c-yEo11AjN8_gJ2EwL5-g,20097
|
|
92
|
+
simtools/model/array_model.py,sha256=38PJVqzmdMNMZnIQ-O0hq9azG-1U3B0xxnAqtRVjLFQ,19055
|
|
93
|
+
simtools/model/calibration_model.py,sha256=9yJBRZ0cPl0KolzJJrrEPyjEQn21aSf2Xk1RPMtq8Po,1410
|
|
94
|
+
simtools/model/camera.py,sha256=ewqhjovhxIX8a2hEHzxqZy2Mcfp621xk2nikxGDXDO4,21381
|
|
95
|
+
simtools/model/mirrors.py,sha256=g0eS4qFzUmo9UIakC4CDo7ourAGuFd3EfzL9RdrF9zg,9098
|
|
96
|
+
simtools/model/model_parameter.py,sha256=fXReEhLXKgNPOSCzsjANm4YuyxHWpJQyN1myTKnMnws,20324
|
|
96
97
|
simtools/model/model_repository.py,sha256=HvluOt11vk65MdYG9SSBAWXU9i9N-bjitsDywnGEaiw,14117
|
|
97
|
-
simtools/model/model_utils.py,sha256=
|
|
98
|
-
simtools/model/site_model.py,sha256=
|
|
99
|
-
simtools/model/telescope_model.py,sha256=
|
|
100
|
-
simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py,sha256=
|
|
98
|
+
simtools/model/model_utils.py,sha256=KP0l_cjiflOeLvvBautti3J5DGKFPDj4ZOiAAMZSrRc,2981
|
|
99
|
+
simtools/model/site_model.py,sha256=ahR5v0lYGyvskQVTLdR4luh6SJTMsum_xW1ObC01J-I,6156
|
|
100
|
+
simtools/model/telescope_model.py,sha256=lKuJFdDMAGS0XeDqJMa_ZrfDBKZ8KzUlDEVcbn1_6Hg,14064
|
|
101
|
+
simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py,sha256=ahUJYM4SWZAAk4qXTQlBEkhmLfZRntXRaTG6FmL3tNs,15503
|
|
101
102
|
simtools/production_configuration/derive_corsika_limits.py,sha256=j0qQYlWBY112Jfr9ZH7Yq6ud-nsLRbBV6B5xoTLuNZw,10546
|
|
102
|
-
simtools/production_configuration/derive_production_statistics.py,sha256=
|
|
103
|
+
simtools/production_configuration/derive_production_statistics.py,sha256=njjQuKgm-yRvykLLuivXF3cmCduAYKunvL13KbEWjQ0,5716
|
|
103
104
|
simtools/production_configuration/derive_production_statistics_handler.py,sha256=WPo29fUMjHFgQKu4AL01XrzIx4d846ddezdtLpH4USU,6187
|
|
104
105
|
simtools/production_configuration/generate_production_grid.py,sha256=DlR2hqyG0jU1yU21QU38ucAdmHZWPa7snFW26vmGEuI,13323
|
|
105
|
-
simtools/production_configuration/interpolation_handler.py,sha256=
|
|
106
|
+
simtools/production_configuration/interpolation_handler.py,sha256=CWJa9WfBhHLTJDnNODzU3GxU7fF6ni_fNPS-UwGyzxo,14095
|
|
106
107
|
simtools/production_configuration/merge_corsika_limits.py,sha256=t9JDvrpkP33ISCRCPVLE8GunjHDF_RYlRPqXI469l0w,20838
|
|
107
108
|
simtools/ray_tracing/incident_angles.py,sha256=sbrj20XAikRH_jH-tW88PQveT97w9mdAzVjvp0OsAns,25967
|
|
108
109
|
simtools/ray_tracing/mirror_panel_psf.py,sha256=w4aGUlbS7XMBwv4dndpnZoBhZtOp0sZ8SIuPXrHqkp8,11241
|
|
109
|
-
simtools/ray_tracing/psf_analysis.py,sha256=
|
|
110
|
+
simtools/ray_tracing/psf_analysis.py,sha256=vZGPThRHfV3RNPeZF97jH2zoK2PlJoqPsJhkz17F_PQ,18140
|
|
110
111
|
simtools/ray_tracing/psf_parameter_optimisation.py,sha256=26_bkJOMJARKCXqCZ7vliVQ5IBDRtzy6f0zDs4wVt0k,45681
|
|
111
|
-
simtools/ray_tracing/ray_tracing.py,sha256=
|
|
112
|
-
simtools/reporting/docs_auto_report_generator.py,sha256=
|
|
113
|
-
simtools/reporting/docs_read_parameters.py,sha256=
|
|
112
|
+
simtools/ray_tracing/ray_tracing.py,sha256=gPnhEBPlSE51jt3k3brvtuJZQT4MejPeqQm1alLaUqU,21959
|
|
113
|
+
simtools/reporting/docs_auto_report_generator.py,sha256=cIQHQX-nyw49PB5UhgIdqPFXDhnVs1CC09NvedgYCTE,14104
|
|
114
|
+
simtools/reporting/docs_read_parameters.py,sha256=QobY26NrcelSu_AETg5srtwRSqtuDjilx98RDcqPTNM,39529
|
|
114
115
|
simtools/resources/array-element-ids.json,sha256=W8cijMEmHJ28RLIyixVVdHr16-iUbIuURT9QIoIzCoY,4566
|
|
115
116
|
simtools/resources/array_elements.yml,sha256=MG-TyocXQCj6htA8af4nBzCxcfFZHs1XXtSfSl4kmBo,4285
|
|
116
|
-
simtools/runners/corsika_runner.py,sha256=
|
|
117
|
-
simtools/runners/corsika_simtel_runner.py,sha256=
|
|
117
|
+
simtools/runners/corsika_runner.py,sha256=TB9sF2-mgzWf9wUKdw90XtkFiolW_RqKmmihMosiu7g,9115
|
|
118
|
+
simtools/runners/corsika_simtel_runner.py,sha256=g-u1t0a2oT9kR0mvEr4uh0b1TLJwev2nAZdJ1oymqNw,7508
|
|
118
119
|
simtools/runners/runner_services.py,sha256=nYmfgvLQQdkNo-7QKxsx80u_BD6rlpymO5NdsRe6ii4,10292
|
|
119
|
-
simtools/runners/simtel_runner.py,sha256=
|
|
120
|
+
simtools/runners/simtel_runner.py,sha256=HCD7upSloWJDTPtDcwbsyXKSOs-ujhMX_4zqQpJ1ZMs,8284
|
|
120
121
|
simtools/runners/simtools_runner.py,sha256=i9E50ha1-vOy5yRSP6BbjuP5PaHKLLj2rD74Pzah2cg,8262
|
|
121
122
|
simtools/schemas/application_workflow.metaschema.yml,sha256=Gd2YIXT7DgdnlP0P-08ywGlle3RMhFqdPcHdrxNw6Gk,5657
|
|
122
123
|
simtools/schemas/common_definitions.schema.yml,sha256=_vzwIM-qIqi32HrjMHIH0dO0STeCZFsAIli6acFol7Y,1180
|
|
@@ -369,44 +370,45 @@ simtools/schemas/model_parameters/transit_time_compensate_error.schema.yml,sha25
|
|
|
369
370
|
simtools/schemas/model_parameters/transit_time_compensate_step.schema.yml,sha256=8kL4uvcGDvP6Mqn3IOt3XCAav-uDpKBf0NdElXYwYq8,910
|
|
370
371
|
simtools/schemas/model_parameters/transit_time_error.schema.yml,sha256=E7AkZajkoEPNS9Q6ePKrwAL2MzJY2xyphI58rx1TMTo,1434
|
|
371
372
|
simtools/schemas/model_parameters/transit_time_jitter.schema.yml,sha256=hIbmjGAKWt3sCG1nKqVlmdNQFSd0YIw_8XAapl2dy6U,753
|
|
373
|
+
simtools/schemas/model_parameters/transit_time_random.schema.yml,sha256=M9VdVDXo7Yu27cLJuD0S9oJk_QofB55ByteGPJX3Jms,770
|
|
372
374
|
simtools/schemas/model_parameters/trigger_current_limit.schema.yml,sha256=WTz-6fNrY9RSyVmAM7R7Bz-1gT0aJtl7GZ2urtDNEsk,677
|
|
373
375
|
simtools/schemas/model_parameters/trigger_delay_compensation.schema.yml,sha256=U8ctXld0Ukz3JaVR0UGlxewzk-4RlsE3Gdq0hMW4qfQ,1476
|
|
374
376
|
simtools/schemas/model_parameters/trigger_pixels.schema.yml,sha256=3-n2PBl9LQ4PBVOgR__XQpFYGUYYS_Jju_pvGSucTq8,1012
|
|
375
|
-
simtools/simtel/simtel_config_reader.py,sha256=
|
|
376
|
-
simtools/simtel/simtel_config_writer.py,sha256=
|
|
377
|
+
simtools/simtel/simtel_config_reader.py,sha256=_R1eLpZPqSu2MbiEfN1zYTdr8jJl1uameGyaxupACe0,15005
|
|
378
|
+
simtools/simtel/simtel_config_writer.py,sha256=f4Xu4LdHjbrzU4ZkuOSIOjtVkLd7VX770cEDNgPDK0c,27476
|
|
377
379
|
simtools/simtel/simtel_io_event_histograms.py,sha256=M0EnmiS9AbzwLyZapkP2JJc3Dze40NoPTHKtWHxe1kg,17688
|
|
378
380
|
simtools/simtel/simtel_io_event_reader.py,sha256=YPP4Cs4NncTIXxbu40veksnJ_3_cZ00-56kGoEuR8so,14595
|
|
379
381
|
simtools/simtel/simtel_io_event_writer.py,sha256=8iK4qvCEjA3X8HB6QdcMWD1w0cC1UEdAm_XRuOM-sGE,12739
|
|
380
382
|
simtools/simtel/simtel_io_file_info.py,sha256=T2xtdz-0pDZFf7cJw7brBxA9OHbDuBossTzY60RHFfw,1775
|
|
381
|
-
simtools/simtel/simtel_io_metadata.py,sha256=
|
|
383
|
+
simtools/simtel/simtel_io_metadata.py,sha256=1BA32c-wHVD2MMfrXYdQuYPq2uPDyWBIpNGbwRMwjtc,6084
|
|
382
384
|
simtools/simtel/simtel_table_reader.py,sha256=m4h74MuvnA15q1-4-esypvBKYPyeZS-1CqdvyJ4HVXc,15101
|
|
383
|
-
simtools/simtel/simulator_array.py,sha256=
|
|
384
|
-
simtools/simtel/simulator_camera_efficiency.py,sha256=
|
|
385
|
-
simtools/simtel/simulator_light_emission.py,sha256
|
|
386
|
-
simtools/simtel/simulator_ray_tracing.py,sha256=
|
|
387
|
-
simtools/testing/assertions.py,sha256=
|
|
388
|
-
simtools/testing/configuration.py,sha256=
|
|
385
|
+
simtools/simtel/simulator_array.py,sha256=wuY4Xfg7PXzN95hihXfAHosgUl1YN5FCdvfL6rvXoAU,8705
|
|
386
|
+
simtools/simtel/simulator_camera_efficiency.py,sha256=BQg1dAD7sqCJitBJiGSk7VOZCjF01OeUXk5qyh_0I18,11730
|
|
387
|
+
simtools/simtel/simulator_light_emission.py,sha256=P3VEoxoXeIaJfIGstJ2rCNwfwJy9wGjA-eEnd-aXBNI,19967
|
|
388
|
+
simtools/simtel/simulator_ray_tracing.py,sha256=ssgcFMSFZNIwzDeHuo7-fN-djNbru59a2pK-iZL33KA,11525
|
|
389
|
+
simtools/testing/assertions.py,sha256=64p882eL4goOEq-KGURTnD_69vVRBBHA5AKfvlA9lgE,4774
|
|
390
|
+
simtools/testing/configuration.py,sha256=kAjPzSDvgKJe-N2z5H3U2_fwjrbCZ20YDFqA1z921Mg,8291
|
|
389
391
|
simtools/testing/helpers.py,sha256=LTVlkt36gQ0AtIK2mN6toI3vxwUPCjV5VMLA0nkS07U,1829
|
|
390
392
|
simtools/testing/log_inspector.py,sha256=v5mtOz9tgBkCJuYYyDm8zV3x7yG7ctTrBNZCgox9l5w,1437
|
|
391
393
|
simtools/testing/sim_telarray_metadata.py,sha256=VeqO_HcZ7QKBF4sghEG1TY5h2jTojUSxt8qfww-_aiw,7945
|
|
392
394
|
simtools/testing/validate_output.py,sha256=9MGJE_U3VZicnDimR7lbr4PpYZgLdLnPisJttMBc8GM,13399
|
|
393
|
-
simtools/utils/general.py,sha256=
|
|
394
|
-
simtools/utils/geometry.py,sha256=
|
|
395
|
-
simtools/utils/names.py,sha256=
|
|
395
|
+
simtools/utils/general.py,sha256=SNZNCzDnN2V-IbPsM5eqH6gcyuCf2lwx32vlAvuZhdQ,24000
|
|
396
|
+
simtools/utils/geometry.py,sha256=VZlovI6E6p6EloqeM9kJ-YgbilZ_4dNIwoJ97evP5B0,9098
|
|
397
|
+
simtools/utils/names.py,sha256=NBldXuTCEfiRSHaLT4gn2AH2y2bTW6QQIfyrC1GiO24,21836
|
|
396
398
|
simtools/utils/value_conversion.py,sha256=Cl-BHOZWUhWr-W_hT4CR1iLfiphd8MSNkzYEjDe6iH8,6311
|
|
397
399
|
simtools/visualization/legend_handlers.py,sha256=QhUeZwuftA1VxfcMQ40KrwnPaD2FU95fNgZfX68YTJE,9792
|
|
398
|
-
simtools/visualization/plot_array_layout.py,sha256=
|
|
400
|
+
simtools/visualization/plot_array_layout.py,sha256=5gQa29ooajwftCuBTZ2eEKZjaqgw9RMRAiG1-D_2RpE,10613
|
|
399
401
|
simtools/visualization/plot_camera.py,sha256=dLXKHYfY_elqaKhj91HlntASoVixTrpc_Kf0jPU8RmU,11167
|
|
400
402
|
simtools/visualization/plot_corsika_histograms.py,sha256=6DV0NT-b-yYZ9dbCgSU3UCUHJTTWkthBsXaYgrF7JAg,21874
|
|
401
|
-
simtools/visualization/plot_incident_angles.py,sha256=
|
|
403
|
+
simtools/visualization/plot_incident_angles.py,sha256=kj_YcBrFRR6C9IUe4bhekfXR9UrPBmwXBtSvrFdMRf0,13424
|
|
402
404
|
simtools/visualization/plot_pixels.py,sha256=CrgO_sJNYfmiRwUSKL9dpQvzkGw73Jd-4sZW_1KUfTI,20570
|
|
403
405
|
simtools/visualization/plot_psf.py,sha256=zd6amCW5ERd_DWVq3fGT-sDxK1p_z043Dh0sT_bVxnw,25307
|
|
404
406
|
simtools/visualization/plot_simtel_event_histograms.py,sha256=o9fPkKE1568MRumPVRyBs8ah5eyTN2mCLXseEwAy4RA,12751
|
|
405
|
-
simtools/visualization/plot_simtel_events.py,sha256=
|
|
407
|
+
simtools/visualization/plot_simtel_events.py,sha256=zvfKboltaiz0yTPAv2_Is29hJlHbPMgofFhBEWNh0Ws,31450
|
|
406
408
|
simtools/visualization/plot_tables.py,sha256=YfGrT1rj7wijKUgrFROrQ057SE0MbvSzxbkCdMLMEjw,8668
|
|
407
|
-
simtools/visualization/visualize.py,sha256=
|
|
408
|
-
gammasimtools-0.
|
|
409
|
-
gammasimtools-0.
|
|
410
|
-
gammasimtools-0.
|
|
411
|
-
gammasimtools-0.
|
|
412
|
-
gammasimtools-0.
|
|
409
|
+
simtools/visualization/visualize.py,sha256=0vs7rt6OTCdrai7AO3bbd4sLuh1oEb_zAG_k53dgZVo,18815
|
|
410
|
+
gammasimtools-0.23.0.dist-info/METADATA,sha256=X_NBSNhUq-G0wRnyNWuWB0AxPuVk0fxhGd0BU6spNqg,5977
|
|
411
|
+
gammasimtools-0.23.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
412
|
+
gammasimtools-0.23.0.dist-info/entry_points.txt,sha256=F3seqX_FXRQhXNmk2Hcwi4YnWqTNQidJ06rw61RzcYc,5030
|
|
413
|
+
gammasimtools-0.23.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
|
|
414
|
+
gammasimtools-0.23.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.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.23.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 23, 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
|
+
Example
|
|
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
|
+
Example
|
|
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
|
|
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(
|
|
81
|
+
def _parse():
|
|
83
82
|
"""Parse command line configuration."""
|
|
84
83
|
config = configurator.Configurator(
|
|
85
|
-
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=
|
|
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
|
-
"""
|
|
139
|
-
|
|
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 =
|
|
148
|
-
base_label =
|
|
149
|
-
telescope_name =
|
|
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=
|
|
154
|
-
db_config=db_config,
|
|
155
|
-
config_data=
|
|
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
|
|
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=
|
|
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__":
|