DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
rawdatautils.unpack.utils.DAPHNEStreamUnpacker Class Reference
Inheritance diagram for rawdatautils.unpack.utils.DAPHNEStreamUnpacker:
[legend]
Collaboration diagram for rawdatautils.unpack.utils.DAPHNEStreamUnpacker:
[legend]

Public Member Functions

 get_n_obj (self, frag)
 
 get_daq_header_version (self, frag)
 
 get_timestamp_first (self, frag)
 
 get_det_data_version (self, frag)
 
 get_det_crate_slot_stream (self, frag)
 
 get_det_header_data (self, frag)
 
 get_det_data_all (self, frag)
 
- Public Member Functions inherited from rawdatautils.unpack.utils.DetectorFragmentUnpacker
 __init__ (self, ana_data_prescale=1, wvfm_data_prescale=None)
 
 get_daq_header_data (self, frag)
 
 get_det_data (self, frag)
 
- Public Member Functions inherited from rawdatautils.unpack.utils.FragmentUnpacker
 get_trg_data (self, in_data)
 
 get_frh_data (self, frag)
 
 get_all_data (self, in_data)
 
- Public Member Functions inherited from rawdatautils.unpack.utils.Unpacker

Static Public Attributes

 unpacker = rawdatautils.unpack.daphne
 
 frame_obj = fddetdataformats.DAPHNEStreamFrame
 
int SAMPLING_PERIOD = 1
 
int N_CHANNELS_PER_FRAME = 4
 
- Static Public Attributes inherited from rawdatautils.unpack.utils.DetectorFragmentUnpacker
bool is_detector_unpacker = True
 
- Static Public Attributes inherited from rawdatautils.unpack.utils.FragmentUnpacker
bool is_fragment_unpacker = True
 
bool is_detector_unpacker = False
 
bool is_trigger_unpacker = False
 
- Static Public Attributes inherited from rawdatautils.unpack.utils.Unpacker
bool is_fragment_unpacker = False
 
bool is_detector_unpacker = False
 
bool is_trigger_unpacker = False
 

Additional Inherited Members

- Public Attributes inherited from rawdatautils.unpack.utils.DetectorFragmentUnpacker
 ana_data_prescale = None if not ana_data_prescale else int(ana_data_prescale)
 
 wvfm_data_prescale = None if not wvfm_data_prescale else int(wvfm_data_prescale)
 
- Public Attributes inherited from rawdatautils.unpack.utils.Unpacker
 index = index
 

Detailed Description

Definition at line 725 of file utils.py.

Member Function Documentation

◆ get_daq_header_version()

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.get_daq_header_version ( self,
frag )

Reimplemented from rawdatautils.unpack.utils.DetectorFragmentUnpacker.

Definition at line 736 of file utils.py.

736 def get_daq_header_version(self,frag):
737 return self.frame_obj(frag.get_data()).get_daqheader().version
738

◆ get_det_crate_slot_stream()

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.get_det_crate_slot_stream ( self,
frag )

Reimplemented from rawdatautils.unpack.utils.DetectorFragmentUnpacker.

Definition at line 745 of file utils.py.

745 def get_det_crate_slot_stream(self,frag):
746 dh = self.frame_obj(frag.get_data()).get_daqheader()
747 return dh.det_id, dh.crate_id, dh.slot_id, dh.link_id
748

◆ get_det_data_all()

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.get_det_data_all ( self,
frag )

Reimplemented from rawdatautils.unpack.utils.DetectorFragmentUnpacker.

Definition at line 762 of file utils.py.

762 def get_det_data_all(self,frag):
763 frh = frag.get_header()
764 trigger_number = frh.trigger_number
765
766 get_ana_data = (self.ana_data_prescale is not None and (trigger_number % self.ana_data_prescale)==0)
767 get_wvfm_data = (self.wvfm_data_prescale is not None and (trigger_number % self.wvfm_data_prescale)==0)
768
769 if not (get_ana_data or get_wvfm_data):
770 return None,None
771
772 ana_data = None
773 wvfm_data = None
774
775 adcs = self.unpacker.np_array_adc_stream(frag)
776 dh = self.frame_obj(frag.get_data()).get_header()
777 channels = [ dh.channel_0, dh.channel_1, dh.channel_2, dh.channel_3 ]
778 daphne_chans = [ dh.channel_0, dh.channel_1, dh.channel_2, dh.channel_3 ]
779
780 if get_ana_data:
781 adc_mean = np.mean(adcs,axis=0)
782 adc_rms = np.std(adcs,axis=0)
783 adc_max = np.max(adcs,axis=0)
784 adc_min = np.min(adcs,axis=0)
785 adc_median = np.median(adcs,axis=0)
786 ana_data = [ DAPHNEStreamAnalysisData(run=frh.run_number,
787 trigger=frh.trigger_number,
788 sequence=frh.sequence_number,
789 src_id=frh.element_id.id,
790 channel=channels[i_ch],
791 daphne_chan=daphne_chans[i_ch],
792 adc_mean=adc_mean[i_ch],
793 adc_rms=adc_rms[i_ch],
794 adc_max=adc_max[i_ch],
795 adc_min=adc_min[i_ch],
796 adc_median=adc_median[i_ch]) for i_ch in range(self.N_CHANNELS_PER_FRAME) ]
797 if get_wvfm_data:
798 timestamps = self.unpacker.np_array_timestamp_stream(frag)
799 ffts = np.abs(np.fft.rfft(adcs,axis=0))
800 wvfm_data = [ DAPHNEStreamWaveformData(run=frh.run_number,
801 trigger=frh.trigger_number,
802 sequence=frh.sequence_number,
803 src_id=frh.element_id.id,
804 channel=channels[i_ch],
805 daphne_chan=channels[i_ch],
806 adcs=adcs[:,i_ch],
807 timestamps=timestamps,
808 fft_mag=ffts[:,i_ch]) for i_ch in range(self.N_CHANNELS_PER_FRAME) ]
809 return ana_data, wvfm_data
810
811

◆ get_det_data_version()

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.get_det_data_version ( self,
frag )

Reimplemented from rawdatautils.unpack.utils.DetectorFragmentUnpacker.

Definition at line 742 of file utils.py.

742 def get_det_data_version(self,frag):
743 return 0
744

◆ get_det_header_data()

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.get_det_header_data ( self,
frag )

Reimplemented from rawdatautils.unpack.utils.DetectorFragmentUnpacker.

Definition at line 749 of file utils.py.

749 def get_det_header_data(self,frag):
750 frh = frag.get_header()
751 dh = self.frame_obj(frag.get_data()).get_header()
752 ts_diffs_vals, ts_diffs_counts = np.unique(np.diff( np.array(self.unpacker.np_array_timestamp_stream(frag), dtype=np.int64)), return_counts=True)
753 return [ DAPHNEStreamHeaderData(run=frh.run_number,
754 trigger=frh.trigger_number,
755 sequence=frh.sequence_number,
756 src_id=frh.element_id.id,
757 n_channels=self.N_CHANNELS_PER_FRAME,
758 sampling_period=self.SAMPLING_PERIOD,
759 ts_diffs_vals=ts_diffs_vals,
760 ts_diffs_counts=ts_diffs_counts) ]
761

◆ get_n_obj()

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.get_n_obj ( self,
frag )

Reimplemented from rawdatautils.unpack.utils.FragmentUnpacker.

Definition at line 733 of file utils.py.

733 def get_n_obj(self,frag):
734 return self.unpacker.get_n_frames_stream(frag)
735

◆ get_timestamp_first()

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.get_timestamp_first ( self,
frag )

Reimplemented from rawdatautils.unpack.utils.DetectorFragmentUnpacker.

Definition at line 739 of file utils.py.

739 def get_timestamp_first(self,frag):
740 return self.frame_obj(frag.get_data()).get_timestamp()
741

Member Data Documentation

◆ frame_obj

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.frame_obj = fddetdataformats.DAPHNEStreamFrame
static

Definition at line 728 of file utils.py.

◆ N_CHANNELS_PER_FRAME

int rawdatautils.unpack.utils.DAPHNEStreamUnpacker.N_CHANNELS_PER_FRAME = 4
static

Definition at line 731 of file utils.py.

◆ SAMPLING_PERIOD

int rawdatautils.unpack.utils.DAPHNEStreamUnpacker.SAMPLING_PERIOD = 1
static

Definition at line 730 of file utils.py.

◆ unpacker

rawdatautils.unpack.utils.DAPHNEStreamUnpacker.unpacker = rawdatautils.unpack.daphne
static

Definition at line 727 of file utils.py.


The documentation for this class was generated from the following file: