gammasimtools 0.24.0__py3-none-any.whl → 0.25.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 (59) hide show
  1. {gammasimtools-0.24.0.dist-info → gammasimtools-0.25.0.dist-info}/METADATA +1 -1
  2. {gammasimtools-0.24.0.dist-info → gammasimtools-0.25.0.dist-info}/RECORD +58 -55
  3. {gammasimtools-0.24.0.dist-info → gammasimtools-0.25.0.dist-info}/entry_points.txt +1 -0
  4. simtools/_version.py +2 -2
  5. simtools/application_control.py +50 -0
  6. simtools/applications/derive_psf_parameters.py +5 -0
  7. simtools/applications/derive_pulse_shape_parameters.py +195 -0
  8. simtools/applications/plot_array_layout.py +63 -1
  9. simtools/applications/simulate_flasher.py +3 -2
  10. simtools/applications/simulate_pedestals.py +1 -1
  11. simtools/applications/simulate_prod.py +8 -23
  12. simtools/applications/simulate_prod_htcondor_generator.py +7 -0
  13. simtools/applications/submit_array_layouts.py +5 -3
  14. simtools/applications/validate_file_using_schema.py +49 -123
  15. simtools/configuration/commandline_parser.py +8 -6
  16. simtools/corsika/corsika_config.py +197 -87
  17. simtools/data_model/model_data_writer.py +14 -2
  18. simtools/data_model/schema.py +112 -5
  19. simtools/data_model/validate_data.py +82 -48
  20. simtools/db/db_model_upload.py +2 -1
  21. simtools/db/mongo_db.py +133 -42
  22. simtools/dependencies.py +5 -9
  23. simtools/io/eventio_handler.py +128 -0
  24. simtools/job_execution/htcondor_script_generator.py +0 -2
  25. simtools/layout/array_layout_utils.py +1 -1
  26. simtools/model/array_model.py +36 -5
  27. simtools/model/model_parameter.py +0 -1
  28. simtools/model/model_repository.py +18 -5
  29. simtools/ray_tracing/psf_analysis.py +11 -8
  30. simtools/ray_tracing/psf_parameter_optimisation.py +822 -679
  31. simtools/reporting/docs_read_parameters.py +69 -9
  32. simtools/runners/corsika_runner.py +12 -3
  33. simtools/runners/corsika_simtel_runner.py +6 -0
  34. simtools/runners/runner_services.py +17 -7
  35. simtools/runners/simtel_runner.py +12 -54
  36. simtools/schemas/model_parameters/flasher_pulse_exp_decay.schema.yml +2 -0
  37. simtools/schemas/model_parameters/flasher_pulse_shape.schema.yml +50 -0
  38. simtools/schemas/model_parameters/flasher_pulse_width.schema.yml +2 -0
  39. simtools/schemas/simulation_models_info.schema.yml +2 -0
  40. simtools/simtel/pulse_shapes.py +268 -0
  41. simtools/simtel/simtel_config_writer.py +82 -1
  42. simtools/simtel/simtel_io_event_writer.py +2 -2
  43. simtools/simtel/simulator_array.py +58 -12
  44. simtools/simtel/simulator_light_emission.py +45 -8
  45. simtools/simulator.py +361 -347
  46. simtools/testing/assertions.py +62 -6
  47. simtools/testing/configuration.py +1 -1
  48. simtools/testing/log_inspector.py +4 -1
  49. simtools/testing/sim_telarray_metadata.py +1 -1
  50. simtools/testing/validate_output.py +44 -9
  51. simtools/utils/names.py +2 -4
  52. simtools/version.py +37 -0
  53. simtools/visualization/legend_handlers.py +14 -4
  54. simtools/visualization/plot_array_layout.py +229 -33
  55. simtools/visualization/plot_mirrors.py +837 -0
  56. simtools/simtel/simtel_io_file_info.py +0 -62
  57. {gammasimtools-0.24.0.dist-info → gammasimtools-0.25.0.dist-info}/WHEEL +0 -0
  58. {gammasimtools-0.24.0.dist-info → gammasimtools-0.25.0.dist-info}/licenses/LICENSE +0 -0
  59. {gammasimtools-0.24.0.dist-info → gammasimtools-0.25.0.dist-info}/top_level.txt +0 -0
@@ -1,62 +0,0 @@
1
- #!/usr/bin/python3
2
- """Read file info and run headers from sim_telarray files."""
3
-
4
- from eventio import EventIOFile
5
- from eventio.simtel import MCRunHeader, MCShower, RunHeader
6
-
7
-
8
- def get_corsika_run_number(file):
9
- """
10
- Return the CORSIKA run number from a sim_telarray file.
11
-
12
- Parameters
13
- ----------
14
- file: str
15
- Path to the sim_telarray file.
16
-
17
- Returns
18
- -------
19
- int, None
20
- CORSIKA run number. Returns None if not found.
21
- """
22
- run_header = get_corsika_run_header(file)
23
- return run_header.get("run") if run_header else None
24
-
25
-
26
- def get_corsika_run_header(file):
27
- """
28
- Return the CORSIKA run header information from a sim_telarray file.
29
-
30
- Reads both RunHeader and MCRunHeader object from file and
31
- returns a merged dictionary. Adds primary id from the first event.
32
-
33
- Parameters
34
- ----------
35
- file: str
36
- Path to the sim_telarray file.
37
-
38
- Returns
39
- -------
40
- dict, None
41
- CORSIKA run header. Returns None if not found.
42
- """
43
- run_header = None
44
- mc_run_header = None
45
- primary_id = None
46
-
47
- with EventIOFile(file) as f:
48
- for o in f:
49
- if isinstance(o, RunHeader) and run_header is None:
50
- run_header = o.parse()
51
- elif isinstance(o, MCRunHeader) and mc_run_header is None:
52
- mc_run_header = o.parse()
53
- elif isinstance(o, MCShower): # get primary_id from first MCShower
54
- primary_id = o.parse().get("primary_id")
55
- if run_header and mc_run_header and primary_id is not None:
56
- break
57
-
58
- run_header = run_header or {}
59
- mc_run_header = mc_run_header or {}
60
- if primary_id is not None:
61
- mc_run_header["primary_id"] = primary_id
62
- return run_header | mc_run_header or None