def test_same_memory(): data_packet = WaveformDataPacket(8276) values = data_packet.GetDataPacket() assert values[0] == 0 values[0] = 12 assert data_packet.GetDataPacket()[0] == 12
def test_setters(packet): data_packet = WaveformDataPacket(packet.size) data_packet.GetDataPacket()[:] = packet waveform = Waveform() waveform.Associate(data_packet, 20) assert waveform.GetSample12bit(0) != 4000 waveform.SetSample12bit(0, 4000) assert waveform.GetSample12bit(0) == 4000 assert waveform.GetSample16bit(0) == 4000 assert waveform.GetSample16bit(0) != 65000 waveform.SetSample16bit(0, 65000) assert waveform.GetSample12bit(0) != 65000 # Overflow assert waveform.GetSample16bit(0) == 65000
def test_waveform_event_r1(packet_array): n_packets_per_event = 1 packet_size = 8276 n_pixels = 64 first_active_module_slot = 22 event = WaveformEventR1(n_packets_per_event, n_pixels, first_active_module_slot) with pytest.raises(RuntimeError): event.get_array() packet = WaveformDataPacket(packet_size) packet.GetDataPacket()[:] = packet_array event.add_packet_shared(packet) assert event.packets[0] == packet waveforms = event.get_array() assert (waveforms[:32] > 0).all() assert waveforms.dtype == np.float32
def test_getters(packet): data_packet = WaveformDataPacket(packet.size) data_packet.GetDataPacket()[:] = packet waveform = Waveform() assert not waveform.IsAssociated() waveform.Associate(data_packet, 20) assert waveform.IsAssociated() assert not waveform.IsErrorFlagOn() assert waveform.GetChannelID() == 4 assert waveform.GetASICID() == 1 assert waveform.GetNSamples() == 128 assert not waveform.IsZeroSuppressed() assert waveform.GetSample12bit(0) == 584 assert waveform.GetSample12bit(10) == 582 assert waveform.GetSample16bit(0) == 584 assert waveform.GetSample16bit(10) == 8774 assert waveform.GetPixelID() == 20
def test_get_event_metadata(packet_array): n_packets_per_event = 1 packet_size = 8276 n_pixels = 64 first_active_module_slot = 22 event = WaveformEventR1(n_packets_per_event, n_pixels, first_active_module_slot, 20, 30, 40, 50) assert event.cpu_sec == 20 assert event.cpu_ns == 30 assert event.scale == 40 assert event.offset == 50 packet = WaveformDataPacket(packet_size) packet.GetDataPacket()[:] = packet_array event.add_packet_shared(packet) assert event.first_cell_id == 1448
def test_scale_offset(packet_array): n_packets_per_event = 1 packet_size = 8276 n_pixels = 64 first_active_module_slot = 22 event = WaveformEventR1(n_packets_per_event, n_pixels, first_active_module_slot) packet = WaveformDataPacket(packet_size) packet.GetDataPacket()[:] = packet_array event.add_packet_shared(packet) waveforms_1 = event.get_array() assert (waveforms_1[:32] > 0).all() scale = 10 offset = 5 event = WaveformEventR1(n_packets_per_event, n_pixels, first_active_module_slot, 20, 30, scale, offset) packet = WaveformDataPacket(packet_size) packet.GetDataPacket()[:] = packet_array event.add_packet_shared(packet) waveforms_2 = event.get_array() assert (waveforms_2[:32] > 0).all() np.testing.assert_equal((waveforms_1[:32] / scale) - offset, waveforms_2[:32])
def test_last_waveform(packet): data_packet = WaveformDataPacket(packet.size) data_packet.GetDataPacket()[:] = packet waveform = Waveform() waveform.Associate(data_packet, data_packet.GetNWaveforms() - 1) assert waveform.GetSample12bit(0) == 649
def test_constructor(packet): data_packet = WaveformDataPacket(packet.size) data_packet.GetDataPacket()[:] = packet waveform = Waveform() print(type(data_packet)) waveform.Associate(data_packet, 0)
def test_getters(packet): data_packet = WaveformDataPacket(packet.size) data_packet.GetDataPacket()[:] = packet assert packet[0] == 32 assert data_packet.GetDataPacket()[0] == 32 assert data_packet.GetNWaveforms() == 32 assert data_packet.GetRegisterSetup() == 0 assert not data_packet.IsLastSubPacket() assert data_packet.IsFirstSubPacket() assert data_packet.GetNBuffers() == 8 assert data_packet.GetTACK() == 2165717354592 assert data_packet.GetEventNumber() == 18528 assert data_packet.GetSlotID() == 22 assert data_packet.GetDetectorID() == 22 assert data_packet.GetEventSequenceNumber() == 236 assert data_packet.GetDetectorUniqueTag() == 160 assert data_packet.GetColumn() == 5 assert data_packet.GetStaleBit() == 0 assert data_packet.IsZeroSupressionEnabled() == 0 assert data_packet.GetRow() == 5 assert data_packet.GetBlockPhase() == 8 assert data_packet.GetCRC() == 38078 assert data_packet.GetMBZ() == 0 assert not data_packet.IsTimeout() assert not data_packet.IsError() assert data_packet.GetWaveformSamplesNBlocks() == 4 assert data_packet.GetWaveformSamplesNBytes() == 256 assert data_packet.GetWaveformNSamples() == 128 assert data_packet.GetWaveformNBytes() == 258 assert data_packet.GetWaveformStart(0) == 16 assert data_packet.GetPacketNBytes() == 8276
def test_constructor(packet): data_packet = WaveformDataPacket(packet.size) assert data_packet.GetPacketSize() == packet.size data_packet.GetDataPacket()[:] = packet np.testing.assert_equal(packet, data_packet.GetDataPacket())