21 using Streaming::operator >>;
39 toString(_header.nFrames) +
"' images");
46 throw runtime_error(
"RAWSSSReader(): We are trying to read more '" +
48 "' than there reported to be in the file header '" +
50 event.id() = Streaming::retrieve<uint32_t>(file);
56 if(devIt == devices.end())
57 throw runtime_error(
"RAWSSSReader: There is no pixeldetector device within the CASSEvent");
58 Device &dev(dynamic_cast<Device&>(*(devIt->second)));
60 det.
id() =
event.id();
Event to store all LCLS Data.
void loadSettings()
load the settings of the reader
void readHeaderInfo(std::ifstream &file)
read the file header
file contains declaration of the CASSEvent
detectors_t & dets()
instrument setter
contains class to read commercial ccd files created with Per Johnsonn's program
bool operator()(std::ifstream &file, CASSEvent &event)
read the raw.sss file contents put them into cassevent
base class for all file readers
static void add(Level level, const std::string &line)
add a string to the log
devices_t & devices()
setters
std::string toString(const Type &t)
convert any type to a string
std::map< Device, DeviceBackend::shared_pointer > devices_t
mapping from device type to handler instance
std::string _filename
the name of the file that we read the values from
RAWSSSReader()
constructor
contains container for simple pixel detector data
the device containing pixel detector data
sssFile::Header _header
the file header information
uint32_t _imagecounter
counter to see how many images have been read from file
Detector containing a ccd camera image.
size_t _imageSize
the length of the image in bytes
contains a logger for cass
sssFile::image_t _imageBuffer
buffer for images