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

Projection of 2d result. More...

#include <operations.h>

+ Inheritance diagram for cass::pp50:
+ Collaboration diagram for cass::pp50:

Public Member Functions

 pp50 (const name_t &name)
 constructor More...
 
virtual void process (const CASSEvent &, result_t &)
 process event More...
 
virtual void loadSettings (size_t)
 load the settings of the pp More...
 
- Public Member Functions inherited from cass::Processor
 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 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...
 

Private Member Functions

void projectToX (result_t::const_iterator src, result_t::iterator dest)
 project 2d result to x axis More...
 
void projectToY (result_t::const_iterator src, result_t::iterator dest)
 project 2d result to y axis More...
 

Private Attributes

shared_pointer _pHist
 processor containing the 2d result we want to project More...
 
std::pair< int, int > _xRange
 range we want to project More...
 
std::pair< int, int > _yRange
 range we want to project More...
 
size_t _nX
 the nbr of bins in the original image More...
 
std::tr1::function< void(result_t::const_iterator, result_t::iterator)> _project
 function that will do the projection More...
 

Additional Inherited Members

- Public Types inherited from cass::Processor
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...
 
- Protected Member Functions inherited from cass::Processor
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 inherited from cass::Processor
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

Projection of 2d result.

Available PostProcessors:
"50": Project 2D result onto a axis

Project a user defined range of a 2d result onto a user defined axis.

See also
Processor for a list of all commonly available cass.ini settings.
User definable Parameters:

Processor/%name%/{InputName}
Name of the processor containing the 2D result that will be projected

Processor/%name%/{Low|Up}
Upper and lower bound of the area to project. The endpoints are defined like $ [Low,Up[ $. Default is -1e6|1e6

Processor/%name%/{Axis}
The axis we want to project to. Default is "xAxis". Possible choises are:

  • "xAxis": projects the selected range in y to the x-Axis
  • "yAxis": projects the selected range in x to the y-Axis
Author
Lutz Foucar

Definition at line 645 of file operations.h.

Constructor & Destructor Documentation

pp50::pp50 ( const name_t name)

constructor

Definition at line 767 of file operations.cpp.

References loadSettings().

Member Function Documentation

void pp50::loadSettings ( size_t  )
virtual
void pp50::process ( const CASSEvent ,
result_t  
)
virtual

process event

Definition at line 898 of file operations.cpp.

References _pHist, _project, cass::Result< T >::begin(), cass::CASSEvent::id(), and cass::Result< T >::lock.

void pp50::projectToX ( result_t::const_iterator  src,
result_t::iterator  dest 
)
private

project 2d result to x axis

Parameters
srciterator to the begining of the 2d result that one wants to project
destiterator to the beginning of the resulting projection

Definition at line 884 of file operations.cpp.

References _nX, _xRange, _yRange, cass::ACQIRIS::x, and cass::ACQIRIS::y.

Referenced by loadSettings().

void pp50::projectToY ( result_t::const_iterator  src,
result_t::iterator  dest 
)
private

project 2d result to y axis

Parameters
srciterator to the beginning of the 2d result that one wants to project
destiterator to the beginning of the resulting projection

Definition at line 891 of file operations.cpp.

References _nX, _xRange, _yRange, cass::ACQIRIS::x, and cass::ACQIRIS::y.

Referenced by loadSettings().

Member Data Documentation

size_t cass::pp50::_nX
private

the nbr of bins in the original image

Definition at line 687 of file operations.h.

Referenced by loadSettings(), projectToX(), and projectToY().

shared_pointer cass::pp50::_pHist
private

processor containing the 2d result we want to project

Definition at line 678 of file operations.h.

Referenced by loadSettings(), and process().

std::tr1::function<void(result_t::const_iterator, result_t::iterator)> cass::pp50::_project
private

function that will do the projection

Definition at line 691 of file operations.h.

Referenced by loadSettings(), and process().

std::pair<int,int> cass::pp50::_xRange
private

range we want to project

Definition at line 681 of file operations.h.

Referenced by loadSettings(), projectToX(), and projectToY().

std::pair<int,int> cass::pp50::_yRange
private

range we want to project

Definition at line 684 of file operations.h.

Referenced by loadSettings(), projectToX(), and projectToY().


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