 |
Belle II Software
release-05-02-19
|
13 #include <framework/core/Module.h>
14 #include <vxd/dataobjects/VxdID.h>
15 #include <framework/datastore/StoreArray.h>
16 #include <framework/datastore/StoreObjPtr.h>
17 #include <rawdata/dataobjects/RawPXD.h>
18 #include <pxd/dataobjects/PXDDigit.h>
19 #include <pxd/dataobjects/PXDInjectionBGTiming.h>
39 class PXDPackerModule :
public Module {
40 enum {PACKER_NUM_ROWS = 768};
41 enum {PACKER_NUM_COLS = 250};
51 void event() override final;
109 void pack_dhc(
int dhc_id,
int dhe_mask,
int* dhe_ids);
113 void pack_dhe(
int dhe_id,
int dhp_mask);
117 void pack_dhp(
int dhp_id,
int dhe_id,
int dhe_reformat,
int startrow = 0);
132 void do_the_reverse_mapping(
unsigned int& row,
unsigned int& col,
unsigned short layer,
unsigned short sensor);
unsigned int m_packed_events
Event counter.
unsigned int m_trigger_dhe_gate
DHE Trigger Gate for DHE headers.
void append_int32(unsigned int w)
cat 32value value to frame
std::vector< std::vector< unsigned char > > m_onsen_payload
For one DHC event, we utilize one payload for all DHE/DHP frames.
bool m_InvertMapping
Flag if we invert mapping to DHP row/col or use premapped coordinates.
void pack_dhc(int dhc_id, int dhe_mask, int *dhe_ids)
Pack one DHC (several DHE) stored in one RawPXD object.
PXDPackerModule()
Constructor defining the parameters.
std::string m_PXDDigitsName
The name of the StoreArray of PXDDigits to be processed.
void pack_dhp_raw(int dhp_id, int dhe_id)
Pack one DHP RAW to buffer.
StoreArray< PXDDigit > m_storeDigits
Input array for Digits.
void add_frame_to_payload(void)
Add Frame to Event payload.
bool m_Clusterize
Use clusterizer (FCE format)
unsigned long long int m_meta_time
Time(Tag) from MetaInfo.
std::vector< unsigned int > m_onsen_header
For one DHC event, we utilize one header (writing out, beware of endianess!)
void terminate() override final
Terminate the module.
StoreObjPtr< PXDInjectionBGTiming > m_storeInjectionBGTiming
Input Obj InjectionBGTiming.
std::vector< std::vector< int > > m_dhe_to_dhc
Parameter dhc<->dhe list, mapping from steering file.
void pack_event(void)
Pack one event (several DHC) stored in seperate RawPXD object.
std::vector< unsigned char > m_current_frame
For current processed frames.
Abstract base class for different kinds of events.
std::map< int, std::vector< int > > m_dhc_mapto_dhe
mapping calculated from m_dhe_to_dhc for easier handling
Type-safe access to single objects in the data store.
unsigned short m_run_nr_word2
Exp+Run Nr.
void start_frame(void)
Start with a new Frame.
void initialize() override final
Initialize the module.
std::map< VxdID, int > startOfVxdID
Store start of Vxd Detector related digits.
unsigned int m_trigger_nr
Trigger Nr.
unsigned int m_trigger_dhp_framenr
DHP Readout Frame Nr for DHP and DHE headers.
unsigned char halfladder_pixmap[PACKER_NUM_ROWS][PACKER_NUM_COLS]
temporary hitmap buffer for pixel to raw data conversion
void event() override final
do the packing
std::string m_RawPXDsName
The name of the StoreArray of generated RawPXDs.
unsigned short m_run_nr_word1
Run+Subrun Nr.
void append_int8(unsigned char w)
cat 8bit value to frame
Accessor to arrays stored in the data store.
unsigned int dhe_byte_count
Byte count in current DHE package.
void pack_dhe(int dhe_id, int dhp_mask)
Pack one DHE (several DHP) to buffer.
unsigned int dhc_byte_count
Byte count in current DHC package.
std::string m_InjectionBGTimingName
The name of the StoreObj InjectionBGTiming.
void pack_dhp(int dhp_id, int dhe_id, int dhe_reformat, int startrow=0)
Pack one DHP to buffer.
void append_int16(unsigned short w)
cat 16bit value to frame
StoreArray< RawPXD > m_storeRaws
Output array for RawPxds.