![]() |
PandaRoot
|
Base Process class. More...
#include <PndProcess.h>
Public Member Functions | |
PndProcess () | |
PndProcess (const std::string &t_processname) | |
virtual | ~PndProcess () |
virtual void | SetDetectorName (const std::string &t_detectorname) |
Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters) More... | |
const std::vector< std::string > & | GetListOfRequiredParameters () const |
Get the List Of Required Parameters. More... | |
virtual void | SetData (DataStruct *t_data)=0 |
Pass the data container ptrs to the process, and store pointers in class members. More... | |
virtual void | SetupParameters (const PndParameterRegister *t_parameter)=0 |
Fetch all parameters from the PndParameterRegister. More... | |
virtual void | PreProcess () |
PreProcess() is called before the actual Process() call in each event. More... | |
virtual void | Process ()=0 |
The actual data transformation (digitizing, clustering, etc.) should be defined here. More... | |
virtual void | PostProcess () |
Immediately after calling Process() PostProcess() is called for cleanup of internal process data, or if not needed, to end the time and memory increase measurement started by PreProcess() More... | |
virtual void | TearDown () |
Last actions at the end of the run. More... | |
Protected Attributes | |
std::vector< std::string > | fParameterList {} |
Parameter names required by this PndProcess. Needs to be populated in derived class. More... | |
std::string | fDetectorName {""} |
Set Detector name this PndProcess transforms data for. Required for example by EMC Processes to fetch right parameters. More... | |
std::string | fProcessName {"PndProcess"} |
Name of current PndProcess (for debugging) More... | |
TStopwatch | fTimer {} |
Timer to monitor Process() time. More... | |
Double_t | fTotalTime {0} |
Time taken by this Process' Process() More... | |
ProcInfo_t | fProcInfo |
Helper to access cpu process Memory Info. More... | |
Long_t | fLastMemSize |
Base Process class.
Base class for Processes. Processes are intended to help separate data and parameter handling from the implementation of algorithms
Definition at line 24 of file PndProcess.h.
|
inline |
Definition at line 26 of file PndProcess.h.
|
inline |
Definition at line 27 of file PndProcess.h.
|
inlinevirtual |
Definition at line 28 of file PndProcess.h.
|
inline |
Get the List Of Required Parameters.
Definition at line 42 of file PndProcess.h.
Referenced by PndProcessHandler< BSEmcPlotData >::AddProcess().
|
inlinevirtual |
Immediately after calling Process() PostProcess() is called for cleanup of internal process data, or if not needed, to end the time and memory increase measurement started by PreProcess()
Reimplemented in BSEmcOnlineBumpSplitter, and TestPndProcess.
Definition at line 80 of file PndProcess.h.
|
inlinevirtual |
PreProcess() is called before the actual Process() call in each event.
Intended for preprocess setup calls, e.g. for reseting internal process data, or, if not needed, to monitor processing time and memory increase
Reimplemented in TestPndProcess.
Definition at line 62 of file PndProcess.h.
|
pure virtual |
The actual data transformation (digitizing, clustering, etc.) should be defined here.
Implemented in BSEmcMCHitProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcPlotProcess, BSEmcMakePreclusters, BSEmcWaveformGenerationProcess, BSEmcRecursiveClustering, BSEmcMCPropagationProcess, BSEmcCreateRecoHitProcess, BSEmcOnlineFeatureExtractionProcess, BSEmcFwEndcapIdealDigitizerProcess, BSEmcAddLinksToCluster, BSEmcFetchDigisFromPreclusterLinks, BSEmcIdealDigitizationProcess, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcApplyCalibrationProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcFinishRecoHitProcess, BSEmcDigiDCSetterProcess, BSEmcMergeRecoHits, BSEmcPlotBarrelFwEndcapOverlap, BSEmcFlagSplitOffs, TestPndProcess, BSEmcPlotMultiHitCluster, BSEmcPlotRecoHitVsMC, BSEmcParameterLoadingProcess< DataStruct >, BSEmcPlotAllRecoHits, BSEmcPlotWaveforms, BSEmcPlotCluster, BSEmcPlotDigis, BSEmcPlotMCHits, BSEmcPlotMCPoints, BSEmcPlotRecoHits, BSEmcPlotSubCluster, and BSEmcCounter< DataStruct >.
Referenced by PndProcess< BSEmcPlotData >::PreProcess().
|
pure virtual |
Pass the data container ptrs to the process, and store pointers in class members.
t_data |
Implemented in BSEmcMCHitProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcMakePreclusters, BSEmcPlotProcess, BSEmcWaveformGenerationProcess, BSEmcRecursiveClustering, BSEmcMCPropagationProcess, BSEmcCreateRecoHitProcess, BSEmcFwEndcapIdealDigitizerProcess, BSEmcOnlineFeatureExtractionProcess, BSEmcAddLinksToCluster, BSEmcFetchDigisFromPreclusterLinks, BSEmcApplyCalibrationProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcIdealDigitizationProcess, BSEmcFinishRecoHitProcess, BSEmcDigiDCSetterProcess, BSEmcMergeRecoHits, BSEmcFlagSplitOffs, BSEmcParameterLoadingProcess< DataStruct >, TestPndProcess, and BSEmcCounter< DataStruct >.
Referenced by PndProcess< BSEmcPlotData >::GetListOfRequiredParameters().
|
inlinevirtual |
Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters)
t_detectorname |
Reimplemented in BSEmcMCHitProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcMakePreclusters, BSEmcPlotProcess, BSEmcWaveformGenerationProcess, BSEmcRecursiveClustering, BSEmcMCPropagationProcess, BSEmcCreateRecoHitProcess, BSEmcOnlineFeatureExtractionProcess, BSEmcFwEndcapIdealDigitizerProcess, BSEmcAddLinksToCluster, BSEmcFinishRecoHitProcess, BSEmcFetchDigisFromPreclusterLinks, BSEmcIdealDigitizationProcess, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcFwEndcapWaveformGeneration, BSEmcApplyCalibrationProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcFwEndcapOnlineFeatureExtraction, BSEmcDigiDCSetterProcess, BSEmcParameterLoadingProcess< DataStruct >, BSEmcFwEndcapCosmicWaveformGeneration, BSEmcMergeRecoHits, and BSEmcFlagSplitOffs.
Definition at line 35 of file PndProcess.h.
Referenced by PndProcessHandler< BSEmcPlotData >::AddProcess().
|
pure virtual |
Fetch all parameters from the PndParameterRegister.
t_parameter |
Implemented in BSEmcMCHitProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcMakePreclusters, BSEmcParameterLoadingProcess< DataStruct >, BSEmcPlotProcess, BSEmcWaveformGenerationProcess, BSEmcRecursiveClustering, BSEmcMCPropagationProcess, BSEmcCreateRecoHitProcess, BSEmcFwEndcapWaveformGeneration, BSEmcOnlineFeatureExtractionProcess, BSEmcFwEndcapOnlineFeatureExtraction, BSEmcAddLinksToCluster, BSEmcFetchDigisFromPreclusterLinks, BSEmcFwEndcapIdealDigitizerProcess, BSEmcIdealDigitizationProcess, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcFwEndcapCosmicWaveformGeneration, BSEmcApplyCalibrationProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcFinishRecoHitProcess, BSEmcCounter< DataStruct >, BSEmcDigiDCSetterProcess, BSEmcBarrelZDependentHitProductionProcess, BSEmcMergeRecoHits, BSEmcFlagSplitOffs, and TestPndProcess.
Referenced by PndProcess< BSEmcPlotData >::GetListOfRequiredParameters(), and PndProcessHandler< BSEmcPlotData >::SetupProcess().
|
inlinevirtual |
Last actions at the end of the run.
Reimplemented in TestPndProcess.
Definition at line 95 of file PndProcess.h.
|
protected |
Set Detector name this PndProcess transforms data for. Required for example by EMC Processes to fetch right parameters.
Definition at line 99 of file PndProcess.h.
Referenced by PndProcess< BSEmcPlotData >::PostProcess(), PndProcess< BSEmcPlotData >::SetDetectorName(), BSEmcParameterLoadingProcess< DataStruct >::SetDetectorName(), and PndProcess< BSEmcPlotData >::TearDown().
|
protected |
Value containing the memory footprint of the cpu process before the Process() call of this PndProcess, to be able to flag if during Process() used memory increased
Definition at line 104 of file PndProcess.h.
Referenced by PndProcess< BSEmcPlotData >::PostProcess(), and PndProcess< BSEmcPlotData >::PreProcess().
|
protected |
Parameter names required by this PndProcess. Needs to be populated in derived class.
Definition at line 98 of file PndProcess.h.
Referenced by PndProcess< BSEmcPlotData >::GetListOfRequiredParameters(), and BSEmcParameterLoadingProcess< DataStruct >::SetDetectorName().
|
protected |
Name of current PndProcess (for debugging)
Definition at line 100 of file PndProcess.h.
Referenced by PndProcess< BSEmcPlotData >::PostProcess(), and PndProcess< BSEmcPlotData >::TearDown().
|
protected |
Helper to access cpu process Memory Info.
Definition at line 103 of file PndProcess.h.
Referenced by PndProcess< BSEmcPlotData >::PostProcess(), and PndProcess< BSEmcPlotData >::PreProcess().
|
protected |
Timer to monitor Process() time.
Definition at line 101 of file PndProcess.h.
Referenced by PndProcess< BSEmcPlotData >::PostProcess(), and PndProcess< BSEmcPlotData >::PreProcess().
|
protected |
Time taken by this Process' Process()
Definition at line 102 of file PndProcess.h.
Referenced by PndProcess< BSEmcPlotData >::PostProcess(), and PndProcess< BSEmcPlotData >::TearDown().