def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ r = data['report'] res = template_common.report_fields(data, r, _REPORT_STYLE_FIELDS) + [ 'bendingMagnet', 'electronBeam', 'geometricSource', 'rayFilter', 'simulation.istar1', 'simulation.npoint', 'simulation.sourceType', 'sourceDivergence', 'wiggler', ] if r == 'initialIntensityReport' and len(data['models']['beamline']): res.append([data['models']['beamline'][0]['position']]) #TODO(pjm): only include items up to the current watchpoint if template_common.is_watchpoint(r): res.append('beamline') for f in template_common.lib_files(data): res.append(f.mtime()) return res
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ r = data['report'] res = template_common.report_fields(data, r, _REPORT_STYLE_FIELDS) + [ 'bendingMagnet', 'electronBeam', 'geometricSource', 'rayFilter', 'simulation.istar1', 'simulation.npoint', 'simulation.sourceType', 'sourceDivergence', 'wiggler', ] if r == 'initialIntensityReport' and len(data['models']['beamline']): res.append([data['models']['beamline'][0]['position']]) #TODO(pjm): only include items up to the current watchpoint if template_common.is_watchpoint(r): res.append('beamline') for f in template_common.lib_files(data): res.append(f.mtime()) return res
def models_related_to_report(data): r = data['report'] if r == 'animation': return [] res = template_common.report_fields(data, r, _REPORT_STYLE_FIELDS) + [ 'beamlines', 'elements', ] if r == 'bunchReport': res += ['bunch', 'simulation.visualizationBeamlineId'] elif r == 'twissReport' or r == 'twissReport2': res += ['simulation.{}'.format(_beamline_id_for_report(r))] return res
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ if data['report'] == 'animation': return [] res = ['beam', 'simulationGrid', 'conductors', 'conductorTypes'] if data['report'] != 'fieldComparisonReport': res.append(template_common.report_fields(data, data['report'], _REPORT_STYLE_FIELDS)) return res
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ if data['report'] == 'animation': return [] res = ['beam', 'simulationGrid', 'conductors', 'conductorTypes'] if data['report'] != 'fieldComparisonReport': res.append(template_common.report_fields(data, data['report'], _REPORT_STYLE_FIELDS)) return res
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ r = data['report'] if r not in ('beamPreviewReport', 'laserPreviewReport'): return [] return template_common.report_fields(data, r, _REPORT_STYLE_FIELDS) + [ 'simulation.sourceType', 'electronBeam', 'electronPlasma', 'laserPulse', 'simulationGrid', ]
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ r = data['report'] if r not in ('beamPreviewReport', 'laserPreviewReport'): return [] return template_common.report_fields(data, r, _REPORT_STYLE_FIELDS) + [ 'simulation.sourceType', 'electronBeam', 'electronPlasma', 'laserPulse', 'simulationGrid', ]
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ r = data['report'] res = [] if r == 'twissReport' or 'bunchReport' in r: res = template_common.report_fields(data, r, _REPORT_STYLE_FIELDS) + [ 'bunch', 'bunchSource', 'bunchFile' ] for f in template_common.lib_files(data): if f.exists(): res.append(f.mtime()) if r == 'twissReport': res += ['elements', 'beamlines', 'simulation.activeBeamlineId'] return res
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ if data['report'] == 'animation' or data['report'] == 'optimizerAnimation': return [] res = ['simulationGrid'] res.append(_non_opt_fields_to_array(data.models.beam)) for container in ('conductors', 'conductorTypes'): for m in data.models[container]: res.append(_non_opt_fields_to_array(m)) if data['report'] != 'fieldComparisonReport': res.append( template_common.report_fields(data, data['report'], _REPORT_STYLE_FIELDS)) return res
def models_related_to_report(data): """What models are required for this data['report'] Args: data (dict): simulation Returns: list: Named models, model fields or values (dict, list) that affect report """ r = data['report'] if r == 'animation': return [] res = template_common.report_fields(data, r, _REPORT_STYLE_FIELDS) + [ 'beam', 'ellipticalDistribution', 'energyPhaseDistribution', 'solenoid', 'sphericalDistribution', 'twissDistribution', ] for f in template_common.lib_files(data): res.append(f.mtime()) return res