gammasimtools 0.23.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.
- {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/METADATA +1 -1
- {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/RECORD +89 -85
- {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/entry_points.txt +1 -0
- simtools/_version.py +2 -2
- simtools/application_control.py +54 -4
- simtools/applications/convert_geo_coordinates_of_array_elements.py +1 -1
- simtools/applications/db_add_file_to_db.py +2 -2
- simtools/applications/db_add_simulation_model_from_repository_to_db.py +1 -1
- simtools/applications/db_add_value_from_json_to_db.py +2 -2
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +1 -1
- simtools/applications/db_generate_compound_indexes.py +1 -1
- simtools/applications/db_get_array_layouts_from_db.py +2 -2
- simtools/applications/db_get_file_from_db.py +1 -1
- simtools/applications/db_get_parameter_from_db.py +1 -1
- simtools/applications/db_inspect_databases.py +4 -2
- simtools/applications/db_upload_model_repository.py +1 -1
- simtools/applications/derive_ctao_array_layouts.py +1 -1
- simtools/applications/derive_psf_parameters.py +5 -0
- simtools/applications/derive_pulse_shape_parameters.py +195 -0
- simtools/applications/generate_array_config.py +1 -1
- simtools/applications/maintain_simulation_model_add_production.py +11 -21
- simtools/applications/plot_array_layout.py +63 -1
- simtools/applications/production_generate_grid.py +1 -1
- simtools/applications/simulate_flasher.py +3 -2
- simtools/applications/simulate_pedestals.py +1 -1
- simtools/applications/simulate_prod.py +8 -23
- simtools/applications/simulate_prod_htcondor_generator.py +7 -0
- simtools/applications/submit_array_layouts.py +7 -5
- simtools/applications/validate_camera_fov.py +1 -1
- simtools/applications/validate_cumulative_psf.py +2 -2
- simtools/applications/validate_file_using_schema.py +49 -123
- simtools/applications/validate_optics.py +1 -1
- simtools/configuration/commandline_parser.py +15 -15
- simtools/configuration/configurator.py +1 -1
- simtools/corsika/corsika_config.py +199 -91
- simtools/data_model/model_data_writer.py +15 -3
- simtools/data_model/schema.py +145 -36
- simtools/data_model/validate_data.py +82 -48
- simtools/db/db_handler.py +61 -294
- simtools/db/db_model_upload.py +3 -2
- simtools/db/mongo_db.py +626 -0
- simtools/dependencies.py +38 -17
- simtools/io/eventio_handler.py +128 -0
- simtools/job_execution/htcondor_script_generator.py +0 -2
- simtools/layout/array_layout.py +7 -7
- simtools/layout/array_layout_utils.py +4 -4
- simtools/model/array_model.py +72 -72
- simtools/model/calibration_model.py +12 -9
- simtools/model/model_parameter.py +196 -160
- simtools/model/model_repository.py +176 -39
- simtools/model/model_utils.py +3 -3
- simtools/model/site_model.py +59 -27
- simtools/model/telescope_model.py +21 -13
- simtools/ray_tracing/mirror_panel_psf.py +4 -4
- simtools/ray_tracing/psf_analysis.py +11 -8
- simtools/ray_tracing/psf_parameter_optimisation.py +823 -680
- simtools/reporting/docs_auto_report_generator.py +1 -1
- simtools/reporting/docs_read_parameters.py +72 -11
- simtools/runners/corsika_runner.py +12 -3
- simtools/runners/corsika_simtel_runner.py +6 -0
- simtools/runners/runner_services.py +17 -7
- simtools/runners/simtel_runner.py +12 -54
- simtools/schemas/model_parameters/flasher_pulse_exp_decay.schema.yml +2 -0
- simtools/schemas/model_parameters/flasher_pulse_shape.schema.yml +50 -0
- simtools/schemas/model_parameters/flasher_pulse_width.schema.yml +2 -0
- simtools/schemas/simulation_models_info.schema.yml +4 -1
- simtools/simtel/pulse_shapes.py +268 -0
- simtools/simtel/simtel_config_writer.py +179 -21
- simtools/simtel/simtel_io_event_writer.py +2 -2
- simtools/simtel/simulator_array.py +58 -12
- simtools/simtel/simulator_light_emission.py +45 -8
- simtools/simulator.py +361 -346
- simtools/testing/assertions.py +110 -10
- simtools/testing/configuration.py +1 -1
- simtools/testing/log_inspector.py +4 -1
- simtools/testing/sim_telarray_metadata.py +1 -1
- simtools/testing/validate_output.py +46 -15
- simtools/utils/names.py +2 -4
- simtools/utils/value_conversion.py +10 -5
- simtools/version.py +61 -0
- simtools/visualization/legend_handlers.py +14 -4
- simtools/visualization/plot_array_layout.py +229 -33
- simtools/visualization/plot_mirrors.py +837 -0
- simtools/visualization/plot_pixels.py +1 -1
- simtools/visualization/plot_psf.py +1 -1
- simtools/visualization/plot_tables.py +1 -1
- simtools/simtel/simtel_io_file_info.py +0 -62
- {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/WHEEL +0 -0
- {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/licenses/LICENSE +0 -0
- {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/top_level.txt +0 -0
|
@@ -44,7 +44,7 @@ def plot(config, output_file, db_config=None):
|
|
|
44
44
|
None
|
|
45
45
|
The function saves the plot to the specified output file.
|
|
46
46
|
"""
|
|
47
|
-
db = db_handler.DatabaseHandler(
|
|
47
|
+
db = db_handler.DatabaseHandler(db_config=db_config)
|
|
48
48
|
db.export_model_file(
|
|
49
49
|
parameter=config["parameter"],
|
|
50
50
|
site=config["site"],
|
|
@@ -640,7 +640,7 @@ def create_psf_vs_offaxis_plot(tel_model, site_model, args_dict, best_pars, outp
|
|
|
640
640
|
logger.info(f"Creating {psf_label_cm} vs off-axis angle plot with best parameters...")
|
|
641
641
|
|
|
642
642
|
# Apply best parameters to telescope model
|
|
643
|
-
tel_model.
|
|
643
|
+
tel_model.overwrite_parameters(best_pars)
|
|
644
644
|
|
|
645
645
|
# Create off-axis angle array
|
|
646
646
|
max_offset = args_dict.get("max_offset", MAX_OFFSET_DEFAULT)
|
|
@@ -131,7 +131,7 @@ def _read_table_from_model_database(table_config, db_config):
|
|
|
131
131
|
Table
|
|
132
132
|
Astropy table
|
|
133
133
|
"""
|
|
134
|
-
db = db_handler.DatabaseHandler(
|
|
134
|
+
db = db_handler.DatabaseHandler(db_config=db_config)
|
|
135
135
|
return db.export_model_file(
|
|
136
136
|
parameter=table_config["parameter"],
|
|
137
137
|
site=table_config["site"],
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|