示例#1
0
def test_2004():
    from eventio.simtel.objects import PixelSettings

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, PixelSettings, n=3)):
            assert o.telescope_id == i + 1
            pixelset = parse_and_assert_consumption(o, limit=1)
            assert pixelset['n_pixels'] == 1855

    with EventIOFile('tests/resources/prod4_pixelsettings_v3.gz') as f:
        for o in yield_n_and_assert(f, PixelSettings, n=1):
            assert o.header.version == 3

            pixel_settings = o.parse()
            assert 'sum_offset' in pixel_settings
def test_72_3_objects():
    from eventio.simtel.objects import HistoryConfig

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, HistoryConfig, n=3)):
            t, s = parse_and_assert_consumption(o, limit=3)
            assert isinstance(s, bytes)
def test_2006_3_objects():
    from eventio.simtel.objects import CameraSoftwareSettings

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(
                yield_n_and_assert(f, CameraSoftwareSettings, n=3)):
            d = parse_and_assert_consumption(o, limit=0)

            assert d['telescope_id'] == i + 1
            assert d['dyn_trig_mode'] == 0
            assert d['dyn_trig_threshold'] == 0
            assert d['dyn_HV_mode'] == 0
            assert d['dyn_HV_threshold'] == 0
            assert d['data_red_mode'] == 0
            assert d['zero_sup_mode'] == 0
            assert d['zero_sup_n_thr'] == 0
            assert len(d['zero_sup_thresholds']) == 0
            assert d['unbiased_scale'] == 0
            assert d['dyn_ped_mode'] == 0
            assert d['dyn_ped_events'] == 0
            assert d['dyn_ped_period'] == 0
            assert d['monitor_cur_period'] == 0
            assert d['report_cur_period'] == 0
            assert d['monitor_HV_period'] == 0
            assert d['report_HV_period'] == 0
示例#4
0
def test_reprs_prod4_corsika():
    importorskip('zstandard')
    from eventio import EventIOFile

    with EventIOFile(prod4b_corsika) as f:
        for i, obj in enumerate(yield_all_objects_depth_first(f)):
            repr(obj)
def test_2026_3_objects():
    from eventio.simtel.objects import MCPhotoelectronSum

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, MCPhotoelectronSum, n=3)):
            d = parse_and_assert_consumption(o, limit=0)

            assert d['event'] // 100 == d['shower_num']
def test_2004_3_objects():
    from eventio.simtel.objects import PixelSettings

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, PixelSettings, n=3)):
            assert o.telescope_id == i + 1
            pixelset = parse_and_assert_consumption(o, limit=1)
            assert pixelset['n_pixels'] == 1855
def test_2100_3_objects():
    from eventio.simtel.objects import TrackingPosition

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, TrackingPosition, n=3)):
            pointing = parse_and_assert_consumption(o, limit=0)

            assert 'azimuth_raw' in pointing
            assert 'altitude_raw' in pointing
def test_2009_3_objects():
    from eventio.simtel.objects import TriggerInformation

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, TriggerInformation, n=3)):
            data = parse_and_assert_consumption(o, limit=2)
            assert 'cpu_time' in data
            assert 'gps_time' in data
            assert 'teltrg_time_by_type' in data
def test_2028():
    from eventio.simtel.objects import CalibrationEvent, ArrayEvent

    with EventIOFile(calib_path) as f:
        n_events = 0
        for event in yield_toplevel_of_type(f, CalibrationEvent):
            assert isinstance(next(event), ArrayEvent)
            n_events += 1
        assert n_events > 0
示例#10
0
def test_2000_1_object():
    from eventio.simtel.objects import RunHeader

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, RunHeader, n=1)):
            d = parse_and_assert_consumption(o, limit=2)

            assert d['observer'] == b'*****@*****.**'
            assert d['target'] == b'Monte Carlo beach'
示例#11
0
def test_reprs_prod2():
    # for scripts/print_structure.py the reprs must work
    # therefore this test is here

    # gamma_test is truncated, so this should raise
    with pytest.raises(EOFError):
        with EventIOFile(prod2_path) as file_:
            for obj in yield_all_objects_depth_first(file_):
                assert repr(obj)
示例#12
0
def test_multiple():

    with EventIOFile(prod4b_sst1m_file) as f:
        o = next(f)

        check_type(o, (History, ArrayEvent))

        with pytest.raises(WrongType):
            check_type(o, (TelescopeEvent, ArrayEvent))
示例#13
0
def test_2021_3_objects():
    from eventio.simtel.objects import MCEvent

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, MCEvent, n=3)):
            d = parse_and_assert_consumption(o, limit=0)

            assert d['shower_num'] == o.header.id // 100
            '''
示例#14
0
def test_2002_v5_3_objects():
    from eventio.simtel.objects import CameraSettings

    with EventIOFile(prod4b_astri_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, CameraSettings, n=3)):
            cam_data = parse_and_assert_consumption(o, limit=0)

            assert o.header.version == 5
            assert cam_data['n_pixels'] == 2368  # astri
            assert 'effective_focal_length' in cam_data
示例#15
0
def test_find_all_subobjects():
    from eventio import EventIOFile
    from eventio.search_utils import find_all_subobjects
    from eventio.simtel import ArrayEvent, TelescopeEvent, ADCSamples

    with EventIOFile(test_file) as f:
        adcsamps = find_all_subobjects(
            f, [ArrayEvent, TelescopeEvent, ADCSamples])

        assert len(adcsamps) == 50
示例#16
0
def test_single():

    with EventIOFile(prod4b_sst1m_file) as f:

        o = next(f)

        check_type(o, History)

        with pytest.raises(WrongType):
            check_type(o, ArrayEvent)
示例#17
0
def test_photo_electrons():
    from eventio import EventIOFile
    from eventio.iact import PhotoElectrons
    from eventio.search_utils import yield_n_subobjects

    with EventIOFile(prod4_simtel) as f:
        for o in yield_n_subobjects(f, PhotoElectrons):
            o.parse()
            not_read = o.read()
            assert len(not_read) == 0 or all(b == 0 for b in not_read)
示例#18
0
def test_2032():
    from eventio.simtel.objects import PixelTriggerTimes

    with EventIOFile(prod4b_astri_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, PixelTriggerTimes, n=3)):
            d = parse_and_assert_consumption(o, limit=2)
            print(d)
            assert 'n_times' in d
            assert 'pixel_ids' in d
            assert 'trigger_times' in d
示例#19
0
def test_2027_3_objects():
    from eventio.simtel.objects import PixelList

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, PixelList, n=3)):
            d = parse_and_assert_consumption(o, limit=2)
            assert d

    # does this look reasonable?
    '''
示例#20
0
def test_2023_3_objects():
    from eventio.simtel.objects import LaserCalibration

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, LaserCalibration, n=3)):
            d = parse_and_assert_consumption(o, limit=0)

            assert d['telescope_id'] == i + 1
            assert d['lascal_id'] == 2
    '''
示例#21
0
def test_70_3_objects():
    from eventio.simtel.objects import History

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, History, n=3)):
            # make sure a History can be iterated and is never empty
            body_reached = False
            for x in o:
                body_reached = True
            assert body_reached
示例#22
0
def test_2015_3_objects():
    from eventio.simtel.objects import StereoReconstruction

    with EventIOFile(prod4b_sst1m_file) as f:
        for obj in yield_n_and_assert(f, StereoReconstruction, n=3):
            parse_and_assert_consumption(obj, limit=2)

            # print(d)
            # Does this look reasonable??
            '''
示例#23
0
def test_2010():
    from eventio.simtel.objects import TriggerInformation
    # class under test
    from eventio.simtel.objects import ArrayEvent

    with EventIOFile(prod2_file) as f:
        n_events = 0
        for event in yield_toplevel_of_type(f, ArrayEvent):
            assert isinstance(next(event), TriggerInformation)
            n_events += 1
        assert n_events > 0
示例#24
0
def test_2007_3_objects():
    from eventio.simtel.objects import PointingCorrection

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, PointingCorrection, n=3)):
            d = parse_and_assert_consumption(o, limit=0)

            assert d['telescope_id'] == i + 1
            assert d['function_type'] == 0
            assert d['n_param'] == 0
            assert len(d['pointing_param']) == 0
示例#25
0
def test_2009():
    from eventio.simtel.objects import TriggerInformation

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, TriggerInformation, n=3)):
            data = parse_and_assert_consumption(o, limit=2)
            assert 'cpu_time' in data
            assert 'gps_time' in data
            assert 'teltrg_time_by_type' in data

    with EventIOFile('tests/resources/prod4_pixelsettings_v3.gz') as f:
        for o in yield_n_and_assert(f, TriggerInformation, n=10):
            assert o.header.version == 3

            data = parse_and_assert_consumption(o, limit=3)
            assert 'plane_wavefront_compensation' in data
            comp = data['plane_wavefront_compensation']
            assert comp['az'] == 0
            assert comp['alt'] == np.float32(np.pi / 2)
            assert comp['speed_of_light'] == approx(29.97, abs=0.01)
示例#26
0
def test_2011_3_objects():
    from eventio.simtel.objects import TelescopeEventHeader

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, TelescopeEventHeader,
                                                 n=3)):
            parse_and_assert_consumption(o, limit=2)

            # print(d)
        # a few printed examples: only version 1!!
        '''
示例#27
0
def test_2013_3_objects():
    from eventio.simtel.objects import ADCSamples

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, ADCSamples, n=3)):
            d = parse_and_assert_consumption(o, limit=3)

            if i == 0:
                assert o.telescope_id == 38
                assert d.shape == expected_adc_samples_event1_tel_id_38.shape
                assert (d == expected_adc_samples_event1_tel_id_38).all()
示例#28
0
def test_2005_3_objects():
    from eventio.simtel.objects import DisabledPixels

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, DisabledPixels, n=3)):
            pixel_disable = parse_and_assert_consumption(o, limit=0)

            assert pixel_disable['telescope_id'] == i + 1
            assert pixel_disable['n_trig_disabled'] == 0
            assert pixel_disable['n_HV_disabled'] == 0
            assert len(pixel_disable['trigger_disabled']) == 0
            assert len(pixel_disable['HV_disabled']) == 0
示例#29
0
def test_2008_3_objects():
    from eventio.simtel.objects import DriveSettings

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, DriveSettings, n=3)):
            assert o.telescope_id == i + 1
            tracking_info = parse_and_assert_consumption(o, limit=0)

        assert tracking_info['range_low_az'] == 0.0
        assert tracking_info['range_low_alt'] == 0.0
        assert tracking_info['range_high_az'] == approx(2 * np.pi)
        assert tracking_info['range_high_alt'] == approx(2 * np.pi)
示例#30
0
def test_2022_3_objects():
    from eventio.simtel.objects import CameraMonitoring

    with EventIOFile(prod2_file) as f:
        for i, o in enumerate(yield_n_and_assert(f, CameraMonitoring, n=3)):
            d = parse_and_assert_consumption(o, limit=1)

            assert d['telescope_id'] == i + 1

            # print(d)
            # Looks reasonable
            '''