FRIBParallelanalysis  1.0
FrameworkforMPIParalleldataanalysisatFRIB
Public Member Functions | List of all members
frib::analysis::CMPIRawToParametersWorker Class Referenceabstract

#include <MPIRawToParametersWorker.h>

Inheritance diagram for frib::analysis::CMPIRawToParametersWorker:
Inheritance graph
[legend]

Public Member Functions

 CMPIRawToParametersWorker (AbstractApplication &App)
 
virtual ~CMPIRawToParametersWorker ()
 
virtual void operator() (int argc, char **argv)
 
virtual void initializeUserCode (int argc, char **argv, AbstractApplication &pApp)
 
virtual void unpackData (const void *pData)=0
 

Detailed Description

This is an abstract base class for a worker that maps raw parameter data into parameter data. The framework takes care of getting data from the dealer, asking user code to map the associated data into tree parameters and then firing those parameters on to the trigger sorter.

Normally this is used by deriving from this class and supplying an implementation for the unpackData method. This method is expected to analyze the ring item it is given and fill in associated tree parameters. The tree parameters must be those which are defined in the tree parameter setup file. Any new tree parameters can be created and output, but they will not be described in the output file which makes it possible they won't be decipherable at other stages of the analysis pipeline.

The very top levels of the MPI framework are expected to have read in the parameter definition file and assignment of names to ids is assumed to be deterministic.

Users must implement unpackData as it is pure virtual. Users may implement initializeUserCode if they have one-time initialization code they must run.

Note
unpack data will only get PHYSICS_EVENT ring items. all other ring item types are treated as passthrough items and sent directly, as such, to the outputter.
implementers that are porting SpecTcl code should look at MPISpecTclWorker which tries to allow users to re-use SpecTcl event processor code as much as possible.

Constructor & Destructor Documentation

◆ CMPIRawToParametersWorker()

frib::analysis::CMPIRawToParametersWorker::CMPIRawToParametersWorker ( AbstractApplication App)

Constructor

Parameters
App- referencees the application

◆ ~CMPIRawToParametersWorker()

frib::analysis::CMPIRawToParametersWorker::~CMPIRawToParametersWorker ( )
virtual

Destructor Kill off the parameter bufer:

Member Function Documentation

◆ operator()()

void frib::analysis::CMPIRawToParametersWorker::operator() ( int  argc,
char **  argv 
)
virtual

operator() The entry point for the application object.

  • Initialize the user code.
  • Until we get an end header, request data/get data
  • Process the data block.
Parameters
argc,argv- the program parameters.

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