00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef ROIUTIL_SERIALISE_H
00014 #define ROIUTIL_SERIALISE_H
00015
00016
00017 #include <vector>
00018
00019 #include "TrigSteeringEvent/TrigRoiDescriptor.h"
00020 #include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
00021
00022
00023
00024 namespace RoiUtil {
00025
00026 typedef uint32_t roitype_t;
00027 typedef std::vector< std::vector<roitype_t> > roiserial_type;
00028
00030 void serialise( const std::vector<const IRoiDescriptor*>& rois, roiserial_type& s );
00031
00033 void serialise( const TrigRoiDescriptorCollection& rois, roiserial_type& s );
00034
00035
00037 void deserialise( const roiserial_type& s, std::vector<const IRoiDescriptor*>& rois );
00038
00040 void deserialise( const roiserial_type& s, TrigRoiDescriptorCollection& rois );
00041
00043 void serialise( const IRoiDescriptor* roi, std::vector<roitype_t>& s );
00044
00046 IRoiDescriptor* deserialise( const roitype_t*& s_end, const roitype_t* s_last );
00047
00048 }
00049
00050 #endif // ROIUTIL_SERIALISE_H
00051