10 #include <QtCore/QMutex>
11 #include <QtCore/QStringList>
17 #include <tr1/functional>
51 #ifdef SINGLEPARTICLE_HIT
80 _instance->loadSettings(0);
89 throw logic_error(
"ProcessorManager::instance(): The instance has not yet been created");
97 throw logic_error(
"ProcessorManager::reference(): The instance has not yet been created");
106 _outputfilename(outputfilename)
132 (*iter++)->processEvent(event);
136 (*(iter++))->releaseEvent(event);
165 string output(
"Processor::loadSettings(): ini file '" + settings.
fileName().toStdString() +
166 "' contains in Group '" + settings.
group().toStdString() +
"': ");
169 output += (str.toStdString() +
", ");
173 transform(list.begin(), list.end(), declaredProcessors.begin(),
174 tr1::bind(&QString::toStdString,tr1::placeholders::_1));
176 toString(declaredProcessors.size()));
179 declaredProcessors.push_front(
"DefaultTrueHist");
180 declaredProcessors.push_front(
"DefaultFalseHist");
183 Processor::names_t::const_iterator iter(declaredProcessors.begin());
184 Processor::names_t::const_iterator end = declaredProcessors.end();
199 const deps_t &deps((*pp)->dependencies());
205 bool reordered(
false);
206 deps_t::const_iterator dep(deps.begin());
207 deps_t::const_iterator depEnd(deps.end());
208 while (dep != depEnd)
210 processors_t::iterator it(pp);
213 if (*dep == (*it)->name())
234 output =
"ProcessorManager::loadSettings(): Processors in the order they are called:";
237 output += ((*pp++)->name() +
", ");
253 if ((*iter)->name() == name)
270 for(; iter != end; ++iter)
271 if (!(*iter)->hide())
272 active.push_back((*iter)->name());
273 _keys->setList(active);
279 if (key ==
"DefaultTrueHist")
281 if (key ==
"DefaultFalseHist")
287 id_t ppid (static_cast<ProcessorManager::id_t>(s.
value(
"ID",0).toUInt()));
506 #ifdef ACHIMSRESORTER
571 #ifdef SINGLEPARTICLE_HIT
593 #ifdef SINGLEPARTICLE_HIT
672 throw invalid_argument(
"ProcessorManager::create(): Processor '" + key +
673 "' has unknown ID '" +
toString(ppid) +
"'");
generate a 2d Histogram from values of 2 columns of a table
file contains processors that will operate on histograms of other processors, calculating statistical...
id_t
List of all currently registered processors.
apply mask to an image, set the masked pixel to a certain value
Create a radial average of q values from a raw detector image.
Event to store all LCLS Data.
convert time of flight to charge to mass ratio
find bragg peaks and store them in a list
contains processors that will operate on table like histograms of other processors.
retrieve a specific value of a specific row
Achims resort routine calibrator.
calculate the autocorrelation of an image
Processor::shared_pointer getProcessorSPointer(const Processor::name_t &name)
retreive pp with name
image of detected pixels in a pixeldetector.
Processor::name_t key_t
type of proccessor accessor key
Timesum of Delayline Anode vs Position of Anode.
file contains the classes that can serialize the key list
processors for single particle hitfinding
void operator()(const CASSEvent &event)
process event
add a new column where the contents are taken from another results based on the index provided in thi...
retrieve user choosable type of bin of 1D result
void aboutToQuit()
will be called when program will quit
pixel detector gain calibrations
file contains class that uses achims calibration capabilities
converts a Electron Time of Flight trace to Energy
std::tr1::shared_ptr< IdList > keys()
retrieve all activated processors keys
std::tr1::shared_ptr< IdList > _keys
the list of keys.
0D, 1D, and 2D to 2D histogramming.
file contains processors that will manipulate 2d histograms
file contains processors that will operate on results of other processors
container and call handler for all registered processors.
coalesced pixels (hits) on a pixeldetector.
generate a histogram for each pixel of the input 2d image
file contains declaration of processors that extract information of acqiris detectors.
convert cspad 2d histogram into cheetah layout
converts histograms to (c)rystal (b)inary (f)ormat files.
processors_t _processors
container for user selected and registered processors
void loadSettings(size_t)
Load active processors and histograms.
find connected pixels, coalesce them and store them in a list
retrieval of beamline data.
processors that calculate laser alignment parameters
get all rows with condition on a column
file contains declaration of processor 2000
0D,1D or 2D to 1D histogramming.
processors that do calibrations on pixel detector data
calculate the absolute squared fft of an histogram
calculate intensity correction
return full width at half maximum in given range of 1D result
Processor::shared_pointer create(const key_t &key)
factory to create new processor with the name key.
file contains custom exceptions used in cass
Weighted Projection of 2D result.
detector picture of first hit.
file contains declaration of processor 2001
Check whether value has changed.
std::string _outputfilename
filename of the output file
static void add(Level level, const std::string &line)
add a string to the log
convolute histogram with kernel
fromStdString(const std::string &str)
pixel detector hot pixel detection
calc the pulse duration from the bld
visualize the peaks that were found in the image itself
Processor::names_t keyList_t
List of all processor keys.
std::list< name_t > names_t
define the list of names
record 0d result into 1d result.
base class for processors.
static shared_pointer _instance
pointer to the singleton instance
low / high pass filter of 1D result
Number of detected pixels of an pixeldetector.
Operation on result with value.
static shared_pointer instance()
return the already created instance of this
pixel detector common mode background calculation
Number of Signals in Anode Layers Waveform.
Apply boolean NOT to 0D result.
ProcessorManager(std::string outputfilename)
Private constructor of singleton.
Number of particles found per shot.
get specific column from table like histogram
calculate median of last values.
angular distribution of a requested image.
store previous result of other Processor
static void releaseDetector(const id_type &id)
release the detector of all helpers that is blocked for the event
0D and 1D to 2D combining.
Deadtime between two consecutive mcp signals.
contains processors that will extract pixels of interrest from 2d histograms.
Number of coalesced pixels (hits) in a pixeldetector.
contains the manager for the processors
Tof to Energy correct from 0D histogram.
Exception thrown when accessing invalid processor.
find pixels of bragg peaks and store them in a list
std::string toString(const Type &t)
convert any type to a string
check whether event contains eventcode
file contains processors baseclass declaration
time average of 0d result.
contains processor dealing with more advanced pixel detectors.
binary function for averaging.
saves a selected 2d histogram to hdf5
return axis parameter of a result
Processor & getProcessor(const Processor::name_t &name)
retreive pp with key
convert cspad data into laboratory frame using crystfel geometry files
value(const QString &key, const QVariant &defaultValue=QVariant()
static QMutex _mutex
Singleton operation locker.
pixel detector common mode background calculation
Number of reconstucted hits.
Tof to Energy linear interpolation.
Returns a the min or max value of a result.
calculate the autocorrelation of an image in radial coordinates
decreased offset correction
acqiris channel waveform.
load data from binary dump into 2DHistogram
Threshold result based upon information from another result.
transform kartesian to poloar coordinates
rotate, transpose, invert axis on 2d result.
file contains specialized class that do the settings for cass
std::tr1::shared_ptr< ProcessorManager > shared_pointer
a shared pointer of this class
static void releaseDetector(const id_type &id)
release the detector of all helpers that is blocked for the event
output of 2d histograms into the cbf.
split level of the colesced pixels (hits) of CCD's.
static shared_pointer::element_type & reference()
return a reference to this instance
declaration of pp1001 (hdf5_converter)
returns a list of local extreme points in a 1D result
pixel detector calibrations
get the local background from image.
retrieve the eventId from event
containing the class to calculate the fast fourier transform
find center of Mass of 1D result in a user given range
std::string name_t
define the name type
contains a logger for cass
std::tr1::shared_ptr< Processor > shared_pointer
a shared pointer of this
convert cspad 2d histogram into a quasi oriented layout
Tof to Energy linear interpolation and correct from 0d histogram.
find bragg peaks and store them in list
processors to calculate partical covariance
containing the class to calculate the autocorrelation of a 2d histogram
Number of Signals in MCP Waveform.
retrieve beamline spectrometer data
processors to generate a test image
process untreated frame with mask
beginGroup(const QString &prefix)
file contains declaration of processors that extract information from the beamline and epics data...
file contains the processor specific for coltrims analysis
return the statistic values of all bins of a result
Check whether result is in range.
Tripple coincidence spectra.
Deadtime between two consecutive anode signals.
Constant Value processor.