29 _frameExtracted(false),
30 _pixellistCreated(false),
31 _hitListCreated(false),
73 CASSEvent::devices_t::const_iterator devIt(
75 if (devIt == evt.
devices().end())
76 throw logic_error(
"AdvancedDetector::associate(): Device " +
77 string(
"'PixelDetectors' isn't existing in CASSEvent"));
78 const Device &dev (dynamic_cast<const Device&>(*(devIt->second)));
79 Device::detectors_t::const_iterator detIt(dev.
dets().find(
_detector));
80 if (detIt == dev.
dets().end())
81 throw InvalidData(
"AdvancedDetector::associate(): Detector '" +
83 "'PixelDetectors' within the CASSEvent");
85 if (det.
id() != evt.
id())
86 throw InvalidData(
"AdvancedDetector::associate(): The dataId '" +
88 "' is inconsistent with the eventId '" +
toString(evt.
id()) +
"'");
105 string frameprocesstype(s.
value(
"FrameProcessorType",
"none").toString().toStdString());
107 _process->loadSettings(s);
108 string pixfindtype(s.
value(
"PixelFinderType",
"simple").toString().toStdString());
110 _find->loadSettings(s);
111 string coalescetype(s.
value(
"CoalescingFunctionType",
"simple").toString().toStdString());
113 _coalesce->loadSettings(s);
std::vector< Hit > hits_t
define the list of coalesced pixels
const hits_t & hits()
retrieve the hits/
Event to store all LCLS Data.
std::tr1::shared_ptr< CommonData > _common
container for data common for all detectors with this name
int32_t _detector
the detector within the device
std::vector< Pixel > pixels_t
void associate(const CASSEvent &evt)
associate the detector with a simple Pixel Detector within a CASSEvent
contains base class for all frame processors.
file contains declaration of the CASSEvent
std::tr1::shared_ptr< PixelFinderBase > _find
functor to extract the pixel list
detectors_t & dets()
instrument setter
Frame _frame
the frame of the detector
void loadSettings(CASSSettings &s)
load the settings of this
bool _hitListCreated
flag whether hit list has been created already
uint16_t & columns()
setter
std::string _name
the name of this detector
file contains custom exceptions used in cass
static shared_pointer instance(const std::string &type)
create an instance of the requested functor
Exception thrown when there is a problem with the data.
fromStdString(const std::string &str)
file contains base class for all coalescing functors.
base class for all frame processors
hits_t _hits
hits on the detector
devices_t & devices()
setters
std::tr1::shared_ptr< CoalescingBase > _coalesce
functor that will do the coalescing
uint16_t rows
how many rows
uint16_t columns
how many columns
AdvancedDetector(const std::string &name)
constructor
base class for all coalescing functors
contains base class for all pixel finders.
std::string toString(const Type &t)
convert any type to a string
Data used commonly for one AdvancedDetector.
std::tr1::shared_ptr< FrameProcessorBase > _process
functor to extract the frame from the CASSEvent
bool _frameExtracted
flag to tell whether the frame has been extracted already
value(const QString &key, const QVariant &defaultValue=QVariant()
A Frame of an advance Pixel Detector.
Detector::frame_t data
the frame data
const Frame & frame()
retrieve the frame
contains the common data for one advanced pixeldetector
base class for pixel finders
bool _pixellistCreated
flag to tell whether the pixel list has been created
static shared_pointer instance(const std::string &type)
create an instance of the requested functor
file contains specialized class that do the settings for cass
the device containing pixel detector data
Detector containing a ccd camera image.
static shared_pointer instance(const instancesmap_t::key_type &detector)
static function creating instance of this.
static shared_pointer instance(const std::string &type)
create an instance of the requested functor
Hit coalesce(const CoalescingBase::pixels_t &splitpixelslist)
coalesce the pixels
pixels_t _pixels
the list of pixels
beginGroup(const QString &prefix)
const pixels_t & pixels()
retrieve the pixellist