21 using Streaming::operator >>;
43 evt.
id() = _frameHead.external_id;
47 file.read(reinterpret_cast<char*>(&
_hllFrameBuffer.front()), framesizeBytes);
52 if(devIt == devices.end())
53 throw runtime_error(
"Frms6Reader: There is no pixeldetector device within the CASSEvent");
54 Device &dev(dynamic_cast<Device&>(*(devIt->second)));
60 det.rows() = _frameHead.the_height*2;
64 size_t quadrantColumns = _frameHead.the_height;
65 size_t quadrantRows = quadrantColumns;
Event to store all LCLS Data.
file contains declaration of the CASSEvent
hllDataTypes::FrameHeader _frameHead
header that comes before every frame
void HLL2CASS(const inputContainerType &HLLMatrix, outputContainerType &CASSMatrix, size_t quadrantColumns, size_t quadrantRows, size_t HLLColumns)
convert a linearised matrix in the hll format to the CASS format
detectors_t & dets()
instrument setter
bool operator()(std::ifstream &file, CASSEvent &event)
read the frms6 file contents put them into cassevent
base class for all file readers
devices_t & devices()
setters
file contains global definitions for project cass
contains class to read frms6 files created by Xonline.
void loadSettings()
load the settings of the reader
std::map< Device, DeviceBackend::shared_pointer > devices_t
mapping from device type to handler instance
void readHeaderInfo(std::ifstream &file)
read the file header
contains container for simple pixel detector data
the device containing pixel detector data
Detector containing a ccd camera image.
hllDataTypes::Frms6FileHeader _fileHead
the frms6 file header
std::vector< hllDataTypes::pixel > _hllFrameBuffer
a buffer to not allocate the read buffer for each event
int16_t pixel
define a pixel