CFEL - ASG Software Suite  2.5.0
CASS
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cass::Processor Class Reference

base class for processors. More...

#include <processor.h>

Inherited by cass::AccumulatingProcessor, cass::HexCalibrator, cass::pp1, cass::pp1002, cass::pp105, cass::pp107, cass::pp109, cass::pp110, cass::pp111, cass::pp112, cass::pp12, cass::pp120, cass::pp121, cass::pp122, cass::pp123, cass::pp13, cass::pp130, cass::pp14, cass::pp144, cass::pp145, cass::pp146, cass::pp148, cass::pp149, cass::pp150, cass::pp1500, cass::pp151, cass::pp152, cass::pp153, cass::pp160, cass::pp1600, cass::pp1601, cass::pp1602, cass::pp161, cass::pp162, cass::pp163, cass::pp164, cass::pp165, cass::pp166, cass::pp167, cass::pp2, cass::pp200, cass::pp2000, cass::pp2001, cass::pp201, cass::pp202, cass::pp203, cass::pp204, cass::pp205, cass::pp206, cass::pp208, cass::pp209, cass::pp210, cass::pp220, cass::pp230, cass::pp240, cass::pp241, cass::pp242, cass::pp243, cass::pp244, cass::pp250, cass::pp251, cass::pp252, cass::pp300, cass::pp302, cass::pp310, cass::pp311, cass::pp312, cass::pp313, cass::pp333, cass::pp334, cass::pp4, cass::pp40, cass::pp400, cass::pp404, cass::pp405, cass::pp406, cass::pp407, cass::pp408, cass::pp41, cass::pp50, cass::pp500, cass::pp5000, cass::pp5001, cass::pp51, cass::pp55, cass::pp56, cass::pp57, cass::pp60, cass::pp65, cass::pp66, cass::pp68, cass::pp70, cass::pp71, cass::pp72, cass::pp73, cass::pp74, cass::pp75, cass::pp76, cass::pp77, cass::pp79, cass::pp81, cass::pp82, cass::pp85, cass::pp86, cass::pp87, cass::pp88, cass::pp89, cass::pp9, cass::pp90, and cass::pp91.

+ Collaboration diagram for cass::Processor:

Public Types

typedef std::tr1::shared_ptr< Processorshared_pointer
 a shared pointer of this More...
 
typedef std::string name_t
 define the name type More...
 
typedef std::list< name_tnames_t
 define the list of names More...
 
typedef CachedList::item_type result_t
 define the results More...
 
typedef CachedList::item_sp resultsp_t
 define the shared pointer to the result More...
 

Public Member Functions

 Processor (const name_t &name)
 constructor More...
 
virtual ~Processor ()
 virtual destructor More...
 
virtual void processEvent (const CASSEvent &event)
 process the event More...
 
virtual const result_tresult (const CASSEvent::id_t eventid=0)
 retrieve a result for a given id. More...
 
virtual void releaseEvent (const CASSEvent &event)
 tell the list that the result for event can be overwritten More...
 
result_t::shared_pointer resultCopy (const uint64_t eventid)
 retrieve histogram for id More...
 
virtual void loadSettings (size_t unused)
 Provide default implementation of loadSettings that does nothing. More...
 
virtual void load ()
 load the general settings More...
 
virtual void aboutToQuit ()
 function that will be called when the processor is about to be deleted More...
 
const names_tdependencies ()
 Define all processors keys a processor depends on. More...
 
void clearDependencies ()
 clear the dependenies More...
 
void clearHistograms ()
 clear the histograms More...
 
virtual void processCommand (std::string command)
 process command in pp More...
 
const name_t name () const
 retrieve the name of this processor More...
 
bool hide () const
 retrieve the hide flag of this processor More...
 
const std::string & comment () const
 retrieve the comment of this processor More...
 

Protected Member Functions

virtual void process (const CASSEvent &event, result_t &result)
 process the event More...
 
virtual void createHistList (result_t::shared_pointer result)
 create result list. More...
 
void setupGeneral ()
 general setup of the processor More...
 
bool setupCondition (bool defaultConditionType=true)
 setup the condition. More...
 
shared_pointer setupDependency (const std::string &depVarName, const name_t &name="")
 setup the dependecy. More...
 

Protected Attributes

const name_t _name
 the processors name More...
 
bool _hide
 flag to tell whether this pp should be hidden in the dropdown list More...
 
std::string _comment
 optional comment that one can add to a processor. More...
 
CachedList _resultList
 the list of results More...
 
names_t _dependencies
 the list of dependencies More...
 
shared_pointer _condition
 pointer to the processor that will contain the condition More...
 

Detailed Description

base class for processors.

This class handles most of the functionality of a processor. When creating a new processor the user has just the overwrite the process function. There it will retrieve the result from either other processors or from the cassevent itselve. All the rest is handled by the base class. Optionally, if one wants to have user interaction with the class, this can be implemented by overwriting loadSettings.

Author
Lutz Foucar
Jochen Kuepper

Definition at line 39 of file processor.h.

Member Typedef Documentation

typedef std::string cass::Processor::name_t

define the name type

Definition at line 46 of file processor.h.

typedef std::list<name_t> cass::Processor::names_t

define the list of names

Definition at line 49 of file processor.h.

define the results

Definition at line 52 of file processor.h.

define the shared pointer to the result

Definition at line 55 of file processor.h.

typedef std::tr1::shared_ptr<Processor> cass::Processor::shared_pointer

a shared pointer of this

Definition at line 43 of file processor.h.

Constructor & Destructor Documentation

Processor::Processor ( const name_t name)

constructor

Parameters
namethe name of the processor

Definition at line 26 of file processor.cpp.

Processor::~Processor ( )
virtual

virtual destructor

Definition at line 31 of file processor.cpp.

Member Function Documentation

void Processor::aboutToQuit ( )
virtual

function that will be called when the processor is about to be deleted

Reimplemented in cass::pp332, cass::pp331, cass::pp330, cass::pp1002, cass::pp2000, cass::pp2001, and cass::pp1500.

Definition at line 177 of file processor.cpp.

References cass::Log::add(), cass::Log::DEBUG4, and name().

void cass::Processor::clearDependencies ( )
inline

clear the dependenies

Definition at line 149 of file processor.h.

References _dependencies.

void Processor::clearHistograms ( )

clear the histograms

this will lock for write access to the histograms before clearing them

Definition at line 74 of file processor.cpp.

References _resultList, and cass::CachedList::clearItems().

const std::string& cass::Processor::comment ( ) const
inline

retrieve the comment of this processor

Definition at line 173 of file processor.h.

References _comment.

void Processor::createHistList ( result_t::shared_pointer  result)
protectedvirtual

create result list.

uses cass::CachedList::setup to generate the result list. The size is 2+cass::nbrworkers.

Parameters
resultshared pointer of the result that will be used in the cached result list

Definition at line 79 of file processor.cpp.

References _resultList, name(), cass::NbrOfWorkers, and cass::CachedList::setup().

Referenced by cass::pp310::loadSettings(), cass::pp200::loadSettings(), cass::pp105::loadSettings(), cass::pp72::loadSettings(), cass::pp150::loadSettings(), cass::pp110::loadSettings(), cass::pp203::loadSettings(), cass::pp5000::loadSettings(), cass::pp400::loadSettings(), cass::pp1::loadSettings(), cass::pp300::loadSettings(), cass::pp312::loadSettings(), cass::pp311::loadSettings(), cass::pp120::loadSettings(), cass::HexCalibrator::loadSettings(), cass::pp111::loadSettings(), cass::pp5001::loadSettings(), cass::pp73::loadSettings(), cass::pp107::loadSettings(), cass::pp151::loadSettings(), cass::pp204::loadSettings(), cass::pp55::loadSettings(), cass::pp201::loadSettings(), cass::pp121::loadSettings(), cass::pp2::loadSettings(), cass::pp112::loadSettings(), cass::pp152::loadSettings(), cass::pp74::loadSettings(), cass::pp109::loadSettings(), cass::pp313::loadSettings(), cass::pp122::loadSettings(), cass::pp404::loadSettings(), cass::pp202::loadSettings(), cass::pp153::loadSettings(), cass::pp79::loadSettings(), cass::pp1600::loadSettings(), cass::pp144::loadSettings(), cass::pp123::loadSettings(), cass::pp4::loadSettings(), cass::pp205::loadSettings(), cass::pp145::loadSettings(), cass::pp130::loadSettings(), cass::pp160::loadSettings(), cass::pp9::loadSettings(), cass::pp500::loadSettings(), cass::pp405::loadSettings(), cass::pp206::loadSettings(), cass::pp146::loadSettings(), cass::pp161::loadSettings(), cass::pp406::loadSettings(), cass::pp1601::loadSettings(), cass::pp148::loadSettings(), cass::pp13::loadSettings(), cass::pp208::loadSettings(), cass::pp149::loadSettings(), cass::pp14::loadSettings(), cass::pp162::loadSettings(), cass::pp407::loadSettings(), cass::pp163::loadSettings(), cass::pp230::loadSettings(), cass::pp40::loadSettings(), cass::pp241::loadSettings(), cass::pp164::loadSettings(), cass::pp242::loadSettings(), cass::pp333::loadSettings(), cass::pp90::loadSettings(), cass::pp408::loadSettings(), cass::pp41::loadSettings(), cass::pp209::loadSettings(), cass::pp165::loadSettings(), cass::pp243::loadSettings(), cass::pp334::loadSettings(), cass::pp50::loadSettings(), cass::pp244::loadSettings(), cass::pp166::loadSettings(), cass::pp210::loadSettings(), cass::pp51::loadSettings(), cass::pp167::loadSettings(), cass::pp56::loadSettings(), cass::pp220::loadSettings(), cass::pp57::loadSettings(), cass::pp250::loadSettings(), cass::pp251::loadSettings(), cass::pp60::loadSettings(), cass::pp252::loadSettings(), cass::pp65::loadSettings(), cass::pp66::loadSettings(), cass::pp68::loadSettings(), cass::pp70::loadSettings(), cass::pp71::loadSettings(), cass::pp77::loadSettings(), cass::pp81::loadSettings(), cass::pp82::loadSettings(), cass::pp85::loadSettings(), cass::pp86::loadSettings(), cass::pp87::loadSettings(), cass::pp88::loadSettings(), cass::pp89::loadSettings(), cass::pp91::loadSettings(), and cass::pp1602::setup().

const names_t& cass::Processor::dependencies ( )
inline

Define all processors keys a processor depends on.

If the dependencies are user choosable they must all be set in loadSettings before it makes sense to call this function.

This function will be called by Processors::setup() when it creates the container with all activated processors.

Definition at line 143 of file processor.h.

References _dependencies.

bool cass::Processor::hide ( ) const
inline

retrieve the hide flag of this processor

Definition at line 170 of file processor.h.

References _hide.

void Processor::load ( )
virtual

load the general settings

loads the settings common to all procesors then calls loadSettings to get the specific settings of the processor

Definition at line 152 of file processor.cpp.

References _comment, _condition, _hide, QSettings::beginGroup(), QSettings::contains(), QString::fromStdString(), name(), setupDependency(), and QSettings::value().

void Processor::loadSettings ( size_t  unused)
virtual

Provide default implementation of loadSettings that does nothing.

Note
the implementation of load settings should ensure that all dependencies should be known at the first time it is run
Parameters
unusednot used

Reimplemented in cass::pp91, cass::pp89, cass::pp88, cass::pp87, cass::pp86, cass::pp85, cass::pp82, cass::pp81, cass::pp78, cass::pp77, cass::pp76, cass::pp75, cass::pp71, cass::pp70, cass::pp69, cass::pp68, cass::pp66, cass::pp65, cass::pp64, cass::pp63, cass::pp62, cass::pp61, cass::pp252, cass::pp60, cass::pp251, cass::pp250, cass::pp57, cass::pp220, cass::pp56, cass::pp167, cass::pp412, cass::pp51, cass::pp210, cass::pp410, cass::pp166, cass::pp244, cass::pp50, cass::pp334, cass::pp165, cass::pp243, cass::pp209, cass::pp41, cass::pp408, cass::pp90, cass::pp333, cass::pp242, cass::pp164, cass::pp241, cass::pp40, cass::pp1602, cass::pp332, cass::pp230, cass::pp163, cass::pp407, cass::pp15, cass::pp162, cass::pp14, cass::pp149, cass::pp208, cass::pp331, cass::pp13, cass::pp148, cass::pp1601, cass::pp406, cass::pp161, cass::pp12, cass::pp146, cass::pp206, cass::pp405, cass::pp500, cass::pp9, cass::pp160, cass::pp130, cass::pp145, cass::pp205, cass::pp4, cass::pp123, cass::pp144, cass::pp1600, cass::pp79, cass::pp153, cass::pp202, cass::pp404, cass::pp122, cass::pp313, cass::pp109, cass::pp74, cass::pp152, cass::pp112, cass::pp330, cass::pp1002, cass::pp302, cass::pp2, cass::pp121, cass::pp201, cass::pp55, cass::pp204, cass::pp151, cass::pp107, cass::pp73, cass::pp5001, cass::pp111, cass::pp2000, cass::HexCalibrator, cass::pp120, cass::pp240, cass::pp311, cass::pp312, cass::pp300, cass::pp1, cass::pp400, cass::pp2001, cass::pp5000, cass::pp203, cass::pp150, cass::pp110, cass::pp72, cass::pp105, cass::pp301, cass::pp200, cass::pp1500, and cass::pp310.

Definition at line 171 of file processor.cpp.

References cass::Log::add(), cass::Log::DEBUG4, and name().

const name_t cass::Processor::name ( ) const
inline

retrieve the name of this processor

Definition at line 167 of file processor.h.

References _name.

Referenced by cass::pp2000::aboutToQuit(), aboutToQuit(), createHistList(), cass::AccumulatingProcessor::createHistList(), load(), cass::pp330::loadCalibration(), cass::pp310::loadSettings(), cass::pp200::loadSettings(), cass::pp1500::loadSettings(), cass::pp301::loadSettings(), cass::pp105::loadSettings(), cass::pp72::loadSettings(), cass::pp110::loadSettings(), cass::pp150::loadSettings(), cass::pp203::loadSettings(), cass::pp5000::loadSettings(), cass::pp2001::loadSettings(), cass::pp400::loadSettings(), cass::pp1::loadSettings(), cass::pp300::loadSettings(), cass::pp312::loadSettings(), cass::pp311::loadSettings(), cass::pp240::loadSettings(), cass::pp120::loadSettings(), cass::HexCalibrator::loadSettings(), cass::pp2000::loadSettings(), cass::pp111::loadSettings(), cass::pp5001::loadSettings(), cass::pp73::loadSettings(), cass::pp151::loadSettings(), cass::pp107::loadSettings(), cass::pp204::loadSettings(), cass::pp55::loadSettings(), cass::pp201::loadSettings(), cass::pp121::loadSettings(), loadSettings(), cass::pp2::loadSettings(), cass::pp302::loadSettings(), cass::pp1002::loadSettings(), cass::pp330::loadSettings(), cass::pp112::loadSettings(), cass::pp152::loadSettings(), cass::pp74::loadSettings(), cass::pp109::loadSettings(), cass::pp313::loadSettings(), cass::pp122::loadSettings(), cass::pp404::loadSettings(), cass::pp202::loadSettings(), cass::pp153::loadSettings(), cass::pp79::loadSettings(), cass::pp1600::loadSettings(), cass::pp144::loadSettings(), cass::pp123::loadSettings(), cass::pp4::loadSettings(), cass::pp205::loadSettings(), cass::pp145::loadSettings(), cass::pp130::loadSettings(), cass::pp160::loadSettings(), cass::pp9::loadSettings(), cass::pp500::loadSettings(), cass::pp405::loadSettings(), cass::pp206::loadSettings(), cass::pp146::loadSettings(), cass::pp12::loadSettings(), cass::pp161::loadSettings(), cass::pp406::loadSettings(), cass::pp1601::loadSettings(), cass::pp148::loadSettings(), cass::pp13::loadSettings(), cass::pp331::loadSettings(), cass::pp208::loadSettings(), cass::pp14::loadSettings(), cass::pp149::loadSettings(), cass::pp162::loadSettings(), cass::pp15::loadSettings(), cass::pp407::loadSettings(), cass::pp163::loadSettings(), cass::pp230::loadSettings(), cass::pp1602::loadSettings(), cass::pp332::loadSettings(), cass::pp40::loadSettings(), cass::pp241::loadSettings(), cass::pp164::loadSettings(), cass::pp242::loadSettings(), cass::pp333::loadSettings(), cass::pp90::loadSettings(), cass::pp408::loadSettings(), cass::pp41::loadSettings(), cass::pp209::loadSettings(), cass::pp165::loadSettings(), cass::pp243::loadSettings(), cass::pp334::loadSettings(), cass::pp50::loadSettings(), cass::pp244::loadSettings(), cass::pp166::loadSettings(), cass::pp410::loadSettings(), cass::pp210::loadSettings(), cass::pp51::loadSettings(), cass::pp412::loadSettings(), cass::pp167::loadSettings(), cass::pp56::loadSettings(), cass::pp220::loadSettings(), cass::pp57::loadSettings(), cass::pp250::loadSettings(), cass::pp251::loadSettings(), cass::pp60::loadSettings(), cass::pp252::loadSettings(), cass::pp61::loadSettings(), cass::pp62::loadSettings(), cass::pp63::loadSettings(), cass::pp64::loadSettings(), cass::pp65::loadSettings(), cass::pp66::loadSettings(), cass::pp68::loadSettings(), cass::pp69::loadSettings(), cass::pp70::loadSettings(), cass::pp71::loadSettings(), cass::pp75::loadSettings(), cass::pp76::loadSettings(), cass::pp77::loadSettings(), cass::pp78::loadSettings(), cass::pp81::loadSettings(), cass::pp82::loadSettings(), cass::pp85::loadSettings(), cass::pp86::loadSettings(), cass::pp87::loadSettings(), cass::pp88::loadSettings(), cass::pp89::loadSettings(), cass::pp91::loadSettings(), cass::pp105::process(), cass::pp110::process(), cass::pp107::process(), cass::pp330::process(), cass::pp74::process(), cass::pp109::process(), process(), cass::pp123::process(), cass::pp205::process(), cass::pp242::process(), cass::pp330::processCommand(), processCommand(), cass::pp2001::processEvent(), cass::pp1500::result(), cass::pp2001::result(), cass::pp2000::result(), cass::pp1002::result(), cass::pp75::result(), cass::pp76::result(), cass::pp330::setBadPixMap(), cass::pp1602::setup(), setupCondition(), setupDependency(), setupGeneral(), and cass::pp330::writeCalibration().

void Processor::process ( const CASSEvent event,
result_t result 
)
protectedvirtual

process the event

This will evaluate the event and fill the resulting histogram. It needs to be implemented in the processors. The result should be locked when calling this function so users can rely on the fact that they can savely use the result without locking it.

The default implementation mimiks the behaviour of the operator(). It assings the result to the _result member and locks the list to ensure that noone can process this at the same time and therefore change the pointer to the _result member.

Parameters
eventthe cassevent to work on
resultthis is where the result will be written to

Reimplemented in cass::pp91, cass::pp89, cass::pp88, cass::pp87, cass::pp86, cass::pp85, cass::pp82, cass::pp78, cass::pp77, cass::pp71, cass::pp70, cass::pp69, cass::pp68, cass::pp66, cass::pp65, cass::pp64, cass::pp63, cass::pp62, cass::pp61, cass::pp252, cass::pp60, cass::pp251, cass::pp250, cass::pp57, cass::pp220, cass::pp167, cass::pp412, cass::pp51, cass::pp210, cass::pp410, cass::pp166, cass::pp244, cass::pp334, cass::pp165, cass::pp243, cass::pp209, cass::pp41, cass::pp408, cass::pp333, cass::pp90, cass::pp242, cass::pp164, cass::pp241, cass::pp332, cass::pp1602, cass::pp230, cass::pp163, cass::pp407, cass::pp15, cass::pp162, cass::pp149, cass::pp208, cass::pp331, cass::pp13, cass::pp148, cass::pp406, cass::pp161, cass::pp1601, cass::pp146, cass::pp206, cass::pp405, cass::pp500, cass::pp160, cass::pp130, cass::pp145, cass::pp205, cass::pp4, cass::pp123, cass::pp144, cass::pp1600, cass::pp79, cass::pp153, cass::pp202, cass::pp404, cass::pp122, cass::pp313, cass::pp109, cass::pp74, cass::pp152, cass::pp112, cass::pp2, cass::pp330, cass::pp121, cass::pp201, cass::pp204, cass::pp55, cass::pp151, cass::pp107, cass::pp73, cass::pp5001, cass::pp111, cass::HexCalibrator, cass::pp120, cass::pp311, cass::pp312, cass::pp1, cass::pp300, cass::pp400, cass::pp5000, cass::pp203, cass::pp150, cass::pp110, cass::pp72, cass::pp105, cass::pp301, cass::pp200, and cass::pp310.

Definition at line 165 of file processor.cpp.

References cass::Log::add(), cass::Log::DEBUG4, and name().

Referenced by processEvent(), and cass::AccumulatingProcessor::processEvent().

void Processor::processCommand ( std::string  command)
virtual

process command in pp

overwrite this function in pp. can do whatever it wants to do as a reaction on command.

Parameters
commandthe command string transmitted

Reimplemented in cass::pp331, cass::pp330, and cass::pp300.

Definition at line 183 of file processor.cpp.

References cass::Log::add(), cass::Log::DEBUG4, and name().

void Processor::processEvent ( const CASSEvent event)
virtual

process the event

Note
this is the function that should only be called by the Processor Manager.
only use this function if all dependencies have been processed before.

It will retrieve the pointer to the last result in the list and call the process function to process the event, if the condition is true. The histlist is locked throughout the the operations on the list, but it will be unlocked after the result has been write lockend and before process is called.

If the condition is not true, the pointer to the result will be put to the second to front position in the list.

Parameters
eventthe event to be processed

Reimplemented in cass::pp76, cass::pp75, cass::pp14, cass::AccumulatingProcessor, cass::pp12, cass::pp1002, cass::pp302, cass::pp2000, cass::pp240, cass::pp2001, and cass::pp1500.

Definition at line 34 of file processor.cpp.

References _condition, _resultList, cass::Log::add(), cass::Log::ERROR, cass::CASSEvent::id(), cass::Result< T >::id(), cass::CachedList::latest(), cass::Result< T >::lock, cass::CachedList::newItem(), process(), result(), and cass::toString().

void Processor::releaseEvent ( const CASSEvent event)
virtual

tell the list that the result for event can be overwritten

details

Parameters
eventThe event that can be released

Reimplemented in cass::pp76, cass::pp75, cass::AccumulatingProcessor, cass::pp12, cass::pp1002, cass::pp302, cass::pp2000, cass::pp240, cass::pp2001, and cass::pp1500.

Definition at line 62 of file processor.cpp.

References _resultList, cass::CASSEvent::id(), and cass::CachedList::release().

const Processor::result_t & Processor::result ( const CASSEvent::id_t  eventid = 0)
virtual

retrieve a result for a given id.

return a reference to the result for the given id or the most recent one in case of eventid beeing 0

Returns
const reference to the requested histogram
Parameters
eventidthe event id of the histogram that is requested. Default is 0

Reimplemented in cass::pp76, cass::pp75, cass::AccumulatingProcessor, cass::pp12, cass::pp1002, cass::pp302, cass::pp2000, cass::pp2001, cass::pp240, and cass::pp1500.

Definition at line 54 of file processor.cpp.

References _resultList, cass::CachedList::item(), and cass::CachedList::latest().

Referenced by cass::pp90::loadSettings(), cass::pp334::loadSettings(), cass::hdf5::WriteEntry::operator()(), cass::hdf5::AppendEntry::operator()(), cass::pp60::process(), cass::pp65::process(), cass::pp2001::processEvent(), processEvent(), cass::pp14::processEvent(), and resultCopy().

Processor::result_t::shared_pointer Processor::resultCopy ( const uint64_t  eventid)

retrieve histogram for id

same as getHist, but returns a copy of the histogram.

Locks the histogram for read access before creating the copy.

Returns
shared pointer of a copy of the histogram
Parameters
eventidthe event id of the histogram that is requested. Default is 0

Definition at line 67 of file processor.cpp.

References cass::Result< T >::clone(), cass::Result< T >::lock, and result().

bool Processor::setupCondition ( bool  defaultConditionType = true)
protected

setup the condition.

this will setup the condition with the default name ConditionList

User definable Parameters:
Processor/%name%/{ConditionName}
0D Processor name that we check before filling image. if this setting is not defined, this processor is unconditional. Therefore its always true.
Returns
true when condition is there, false otherwise
Parameters
defaultConditionTypethe type of condition that should be used when there is no ConditionName defined in cass.ini

Definition at line 94 of file processor.cpp.

References _condition, QSettings::beginGroup(), QSettings::contains(), QString::fromStdString(), name(), and setupDependency().

Referenced by cass::pp310::loadSettings(), cass::pp200::loadSettings(), cass::pp1500::loadSettings(), cass::pp105::loadSettings(), cass::pp301::loadSettings(), cass::pp72::loadSettings(), cass::pp150::loadSettings(), cass::pp110::loadSettings(), cass::pp203::loadSettings(), cass::pp5000::loadSettings(), cass::pp2001::loadSettings(), cass::pp400::loadSettings(), cass::pp1::loadSettings(), cass::pp300::loadSettings(), cass::pp312::loadSettings(), cass::pp311::loadSettings(), cass::pp120::loadSettings(), cass::HexCalibrator::loadSettings(), cass::pp2000::loadSettings(), cass::pp111::loadSettings(), cass::pp5001::loadSettings(), cass::pp73::loadSettings(), cass::pp151::loadSettings(), cass::pp107::loadSettings(), cass::pp204::loadSettings(), cass::pp55::loadSettings(), cass::pp201::loadSettings(), cass::pp121::loadSettings(), cass::pp2::loadSettings(), cass::pp1002::loadSettings(), cass::pp330::loadSettings(), cass::pp112::loadSettings(), cass::pp152::loadSettings(), cass::pp74::loadSettings(), cass::pp109::loadSettings(), cass::pp313::loadSettings(), cass::pp122::loadSettings(), cass::pp404::loadSettings(), cass::pp202::loadSettings(), cass::pp153::loadSettings(), cass::pp79::loadSettings(), cass::pp1600::loadSettings(), cass::pp144::loadSettings(), cass::pp123::loadSettings(), cass::pp4::loadSettings(), cass::pp205::loadSettings(), cass::pp145::loadSettings(), cass::pp130::loadSettings(), cass::pp160::loadSettings(), cass::pp9::loadSettings(), cass::pp500::loadSettings(), cass::pp405::loadSettings(), cass::pp206::loadSettings(), cass::pp146::loadSettings(), cass::pp161::loadSettings(), cass::pp406::loadSettings(), cass::pp1601::loadSettings(), cass::pp148::loadSettings(), cass::pp13::loadSettings(), cass::pp331::loadSettings(), cass::pp208::loadSettings(), cass::pp149::loadSettings(), cass::pp14::loadSettings(), cass::pp162::loadSettings(), cass::pp15::loadSettings(), cass::pp407::loadSettings(), cass::pp163::loadSettings(), cass::pp230::loadSettings(), cass::pp1602::loadSettings(), cass::pp332::loadSettings(), cass::pp40::loadSettings(), cass::pp241::loadSettings(), cass::pp164::loadSettings(), cass::pp242::loadSettings(), cass::pp333::loadSettings(), cass::pp90::loadSettings(), cass::pp408::loadSettings(), cass::pp41::loadSettings(), cass::pp209::loadSettings(), cass::pp165::loadSettings(), cass::pp243::loadSettings(), cass::pp334::loadSettings(), cass::pp50::loadSettings(), cass::pp244::loadSettings(), cass::pp166::loadSettings(), cass::pp410::loadSettings(), cass::pp210::loadSettings(), cass::pp51::loadSettings(), cass::pp412::loadSettings(), cass::pp167::loadSettings(), cass::pp56::loadSettings(), cass::pp220::loadSettings(), cass::pp57::loadSettings(), cass::pp250::loadSettings(), cass::pp251::loadSettings(), cass::pp60::loadSettings(), cass::pp252::loadSettings(), cass::pp61::loadSettings(), cass::pp62::loadSettings(), cass::pp63::loadSettings(), cass::pp64::loadSettings(), cass::pp65::loadSettings(), cass::pp66::loadSettings(), cass::pp68::loadSettings(), cass::pp69::loadSettings(), cass::pp70::loadSettings(), cass::pp71::loadSettings(), cass::pp75::loadSettings(), cass::pp76::loadSettings(), cass::pp77::loadSettings(), cass::pp78::loadSettings(), cass::pp81::loadSettings(), cass::pp82::loadSettings(), cass::pp85::loadSettings(), cass::pp86::loadSettings(), cass::pp87::loadSettings(), cass::pp88::loadSettings(), cass::pp89::loadSettings(), and cass::pp91::loadSettings().

Processor::shared_pointer Processor::setupDependency ( const std::string &  depVarName,
const name_t name = "" 
)
protected

setup the dependecy.

this will look up the dependecy key in cass.ini and tries to get it from the processors. It will return the pointer to the dependecy processor when it is there. If it's not in the container it will return 0. When the depencendy key is not already in the list with all dependcies, it will be added.

In case the second parameter is set, then it doesn't look up the key name in the cass.ini, but rather use the provided one.

Returns
pointer to the dependency processor
Parameters
[in]depVarNamethe name of the setting that hold the dependcy key
[in]nameoptional name of the key, without getting it from the settings file.

Definition at line 114 of file processor.cpp.

References _dependencies, cass::Log::add(), QSettings::beginGroup(), cass::Log::DEBUG0, QString::fromStdString(), name(), cass::ProcessorManager::reference(), and QSettings::value().

Referenced by load(), cass::pp310::loadSettings(), cass::pp200::loadSettings(), cass::pp1500::loadSettings(), cass::pp301::loadSettings(), cass::pp72::loadSettings(), cass::pp203::loadSettings(), cass::pp2001::loadSettings(), cass::pp1::loadSettings(), cass::pp400::loadSettings(), cass::pp300::loadSettings(), cass::pp312::loadSettings(), cass::pp311::loadSettings(), cass::pp2000::loadSettings(), cass::pp111::loadSettings(), cass::pp73::loadSettings(), cass::pp204::loadSettings(), cass::pp55::loadSettings(), cass::pp201::loadSettings(), cass::pp2::loadSettings(), cass::pp1002::loadSettings(), cass::pp330::loadSettings(), cass::pp112::loadSettings(), cass::pp74::loadSettings(), cass::pp313::loadSettings(), cass::pp404::loadSettings(), cass::pp202::loadSettings(), cass::pp79::loadSettings(), cass::pp1600::loadSettings(), cass::pp4::loadSettings(), cass::pp205::loadSettings(), cass::pp9::loadSettings(), cass::pp500::loadSettings(), cass::pp206::loadSettings(), cass::pp406::loadSettings(), cass::pp1601::loadSettings(), cass::pp13::loadSettings(), cass::pp331::loadSettings(), cass::pp208::loadSettings(), cass::pp14::loadSettings(), cass::pp15::loadSettings(), cass::pp407::loadSettings(), cass::pp332::loadSettings(), cass::pp1602::loadSettings(), cass::pp40::loadSettings(), cass::pp241::loadSettings(), cass::pp333::loadSettings(), cass::pp90::loadSettings(), cass::pp408::loadSettings(), cass::pp41::loadSettings(), cass::pp209::loadSettings(), cass::pp243::loadSettings(), cass::pp334::loadSettings(), cass::pp50::loadSettings(), cass::pp244::loadSettings(), cass::pp410::loadSettings(), cass::pp210::loadSettings(), cass::pp51::loadSettings(), cass::pp412::loadSettings(), cass::pp56::loadSettings(), cass::pp57::loadSettings(), cass::pp60::loadSettings(), cass::pp61::loadSettings(), cass::pp62::loadSettings(), cass::pp63::loadSettings(), cass::pp64::loadSettings(), cass::pp65::loadSettings(), cass::pp66::loadSettings(), cass::pp68::loadSettings(), cass::pp69::loadSettings(), cass::pp70::loadSettings(), cass::pp71::loadSettings(), cass::pp75::loadSettings(), cass::pp81::loadSettings(), cass::pp82::loadSettings(), cass::pp85::loadSettings(), cass::pp86::loadSettings(), cass::pp87::loadSettings(), cass::pp88::loadSettings(), cass::pp89::loadSettings(), cass::pp91::loadSettings(), and setupCondition().

void Processor::setupGeneral ( )
protected

general setup of the processor

will setup the options that are available for all processors

User definable Parameters:

Processor/%name%/{Hide}
Flag that will hide this processor in cassview's combobox. Default is false

Processor/%name%/{Write}
Flag that will tell a dumper to write this processor into the file. Default is true

Processor/%name%/{WriteSummary}
Flag that will tell a dumper to write this processor into the summary. Useful for histograms that are only interesting per run. Default is true

Processor/%name%/{Comment}
A comment with a short description of what this processor is doing. Will be added to the file, when its written. Default is "".

Definition at line 85 of file processor.cpp.

References _comment, _hide, QSettings::beginGroup(), QString::fromStdString(), name(), and QSettings::value().

Referenced by cass::pp310::loadSettings(), cass::pp200::loadSettings(), cass::pp1500::loadSettings(), cass::pp105::loadSettings(), cass::pp301::loadSettings(), cass::pp72::loadSettings(), cass::pp150::loadSettings(), cass::pp110::loadSettings(), cass::pp203::loadSettings(), cass::pp5000::loadSettings(), cass::pp2001::loadSettings(), cass::pp400::loadSettings(), cass::pp1::loadSettings(), cass::pp300::loadSettings(), cass::pp312::loadSettings(), cass::pp311::loadSettings(), cass::pp120::loadSettings(), cass::HexCalibrator::loadSettings(), cass::pp2000::loadSettings(), cass::pp111::loadSettings(), cass::pp5001::loadSettings(), cass::pp73::loadSettings(), cass::pp151::loadSettings(), cass::pp107::loadSettings(), cass::pp204::loadSettings(), cass::pp55::loadSettings(), cass::pp201::loadSettings(), cass::pp121::loadSettings(), cass::pp2::loadSettings(), cass::pp302::loadSettings(), cass::pp1002::loadSettings(), cass::pp330::loadSettings(), cass::pp112::loadSettings(), cass::pp152::loadSettings(), cass::pp74::loadSettings(), cass::pp109::loadSettings(), cass::pp313::loadSettings(), cass::pp122::loadSettings(), cass::pp404::loadSettings(), cass::pp202::loadSettings(), cass::pp153::loadSettings(), cass::pp79::loadSettings(), cass::pp1600::loadSettings(), cass::pp144::loadSettings(), cass::pp123::loadSettings(), cass::pp4::loadSettings(), cass::pp205::loadSettings(), cass::pp145::loadSettings(), cass::pp130::loadSettings(), cass::pp160::loadSettings(), cass::pp9::loadSettings(), cass::pp500::loadSettings(), cass::pp405::loadSettings(), cass::pp206::loadSettings(), cass::pp146::loadSettings(), cass::pp161::loadSettings(), cass::pp406::loadSettings(), cass::pp1601::loadSettings(), cass::pp148::loadSettings(), cass::pp13::loadSettings(), cass::pp331::loadSettings(), cass::pp208::loadSettings(), cass::pp149::loadSettings(), cass::pp14::loadSettings(), cass::pp162::loadSettings(), cass::pp15::loadSettings(), cass::pp407::loadSettings(), cass::pp163::loadSettings(), cass::pp230::loadSettings(), cass::pp1602::loadSettings(), cass::pp332::loadSettings(), cass::pp40::loadSettings(), cass::pp241::loadSettings(), cass::pp164::loadSettings(), cass::pp242::loadSettings(), cass::pp333::loadSettings(), cass::pp90::loadSettings(), cass::pp408::loadSettings(), cass::pp41::loadSettings(), cass::pp209::loadSettings(), cass::pp165::loadSettings(), cass::pp243::loadSettings(), cass::pp334::loadSettings(), cass::pp50::loadSettings(), cass::pp244::loadSettings(), cass::pp166::loadSettings(), cass::pp410::loadSettings(), cass::pp210::loadSettings(), cass::pp51::loadSettings(), cass::pp412::loadSettings(), cass::pp167::loadSettings(), cass::pp56::loadSettings(), cass::pp220::loadSettings(), cass::pp57::loadSettings(), cass::pp250::loadSettings(), cass::pp251::loadSettings(), cass::pp60::loadSettings(), cass::pp252::loadSettings(), cass::pp61::loadSettings(), cass::pp62::loadSettings(), cass::pp63::loadSettings(), cass::pp64::loadSettings(), cass::pp65::loadSettings(), cass::pp66::loadSettings(), cass::pp68::loadSettings(), cass::pp69::loadSettings(), cass::pp70::loadSettings(), cass::pp71::loadSettings(), cass::pp75::loadSettings(), cass::pp76::loadSettings(), cass::pp77::loadSettings(), cass::pp78::loadSettings(), cass::pp81::loadSettings(), cass::pp82::loadSettings(), cass::pp85::loadSettings(), cass::pp86::loadSettings(), cass::pp87::loadSettings(), cass::pp88::loadSettings(), cass::pp89::loadSettings(), and cass::pp91::loadSettings().

Member Data Documentation

std::string cass::Processor::_comment
protected

optional comment that one can add to a processor.

Will be used when writing this pp to file.

Definition at line 268 of file processor.h.

Referenced by comment(), load(), and setupGeneral().

shared_pointer cass::Processor::_condition
protected

pointer to the processor that will contain the condition

Definition at line 277 of file processor.h.

Referenced by load(), cass::pp310::loadSettings(), cass::pp200::loadSettings(), cass::pp1500::loadSettings(), cass::pp105::loadSettings(), cass::pp301::loadSettings(), cass::pp72::loadSettings(), cass::pp110::loadSettings(), cass::pp150::loadSettings(), cass::pp203::loadSettings(), cass::pp5000::loadSettings(), cass::pp2001::loadSettings(), cass::pp400::loadSettings(), cass::pp1::loadSettings(), cass::pp300::loadSettings(), cass::pp312::loadSettings(), cass::pp311::loadSettings(), cass::pp120::loadSettings(), cass::HexCalibrator::loadSettings(), cass::pp2000::loadSettings(), cass::pp111::loadSettings(), cass::pp5001::loadSettings(), cass::pp73::loadSettings(), cass::pp107::loadSettings(), cass::pp151::loadSettings(), cass::pp204::loadSettings(), cass::pp55::loadSettings(), cass::pp201::loadSettings(), cass::pp121::loadSettings(), cass::pp2::loadSettings(), cass::pp1002::loadSettings(), cass::pp330::loadSettings(), cass::pp112::loadSettings(), cass::pp152::loadSettings(), cass::pp74::loadSettings(), cass::pp109::loadSettings(), cass::pp313::loadSettings(), cass::pp122::loadSettings(), cass::pp404::loadSettings(), cass::pp202::loadSettings(), cass::pp153::loadSettings(), cass::pp79::loadSettings(), cass::pp1600::loadSettings(), cass::pp144::loadSettings(), cass::pp123::loadSettings(), cass::pp4::loadSettings(), cass::pp205::loadSettings(), cass::pp145::loadSettings(), cass::pp130::loadSettings(), cass::pp160::loadSettings(), cass::pp9::loadSettings(), cass::pp500::loadSettings(), cass::pp405::loadSettings(), cass::pp206::loadSettings(), cass::pp146::loadSettings(), cass::pp161::loadSettings(), cass::pp406::loadSettings(), cass::pp1601::loadSettings(), cass::pp148::loadSettings(), cass::pp13::loadSettings(), cass::pp331::loadSettings(), cass::pp208::loadSettings(), cass::pp149::loadSettings(), cass::pp14::loadSettings(), cass::pp162::loadSettings(), cass::pp15::loadSettings(), cass::pp407::loadSettings(), cass::pp163::loadSettings(), cass::pp230::loadSettings(), cass::pp332::loadSettings(), cass::pp40::loadSettings(), cass::pp241::loadSettings(), cass::pp164::loadSettings(), cass::pp242::loadSettings(), cass::pp333::loadSettings(), cass::pp90::loadSettings(), cass::pp408::loadSettings(), cass::pp41::loadSettings(), cass::pp209::loadSettings(), cass::pp165::loadSettings(), cass::pp243::loadSettings(), cass::pp334::loadSettings(), cass::pp50::loadSettings(), cass::pp244::loadSettings(), cass::pp166::loadSettings(), cass::pp410::loadSettings(), cass::pp210::loadSettings(), cass::pp51::loadSettings(), cass::pp412::loadSettings(), cass::pp167::loadSettings(), cass::pp56::loadSettings(), cass::pp220::loadSettings(), cass::pp57::loadSettings(), cass::pp250::loadSettings(), cass::pp251::loadSettings(), cass::pp60::loadSettings(), cass::pp252::loadSettings(), cass::pp61::loadSettings(), cass::pp62::loadSettings(), cass::pp63::loadSettings(), cass::pp64::loadSettings(), cass::pp65::loadSettings(), cass::pp66::loadSettings(), cass::pp68::loadSettings(), cass::pp69::loadSettings(), cass::pp70::loadSettings(), cass::pp71::loadSettings(), cass::pp75::loadSettings(), cass::pp76::loadSettings(), cass::pp77::loadSettings(), cass::pp78::loadSettings(), cass::pp81::loadSettings(), cass::pp82::loadSettings(), cass::pp85::loadSettings(), cass::pp86::loadSettings(), cass::pp87::loadSettings(), cass::pp88::loadSettings(), cass::pp89::loadSettings(), cass::pp91::loadSettings(), cass::pp1500::processEvent(), cass::pp2001::processEvent(), processEvent(), cass::pp2000::processEvent(), cass::pp1002::processEvent(), cass::AccumulatingProcessor::processEvent(), cass::pp14::processEvent(), cass::pp75::processEvent(), cass::pp76::processEvent(), cass::pp1602::setup(), and setupCondition().

names_t cass::Processor::_dependencies
protected

the list of dependencies

Definition at line 274 of file processor.h.

Referenced by clearDependencies(), dependencies(), and setupDependency().

bool cass::Processor::_hide
protected

flag to tell whether this pp should be hidden in the dropdown list

Definition at line 262 of file processor.h.

Referenced by hide(), load(), cass::pp1500::loadSettings(), cass::pp2001::loadSettings(), cass::pp2000::loadSettings(), cass::pp1002::loadSettings(), cass::pp12::loadSettings(), and setupGeneral().

const name_t cass::Processor::_name
protected

the processors name

Definition at line 259 of file processor.h.

Referenced by name().

CachedList cass::Processor::_resultList
protected

the list of results

Definition at line 271 of file processor.h.

Referenced by clearHistograms(), createHistList(), processEvent(), cass::pp14::processEvent(), releaseEvent(), and result().


The documentation for this class was generated from the following files: