![]() |
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 | RequestDataContainer (PndContainerRegister *) |
Pass the container register to the process, and get the processes container requirements. More... | |
virtual void | GetDataContainer (PndContainerRegister *) |
Pass the container register to the process, and set the processes container requirements. 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... | |
virtual void | SetEventTime (Double_t t_eventtime) |
Set the Event time. 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 |
Double_t | fEventTime {0} |
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 36 of file PndProcess.h.
|
inline |
Definition at line 38 of file PndProcess.h.
|
inline |
Definition at line 39 of file PndProcess.h.
|
inlinevirtual |
Definition at line 40 of file PndProcess.h.
|
inlinevirtual |
Pass the container register to the process, and set the processes container requirements.
t_register |
Reimplemented in BSEmcMCDepositProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcMakePreclusters, BSEmcPlotProcess, BSEmcMCPropagationProcess, BSEmcRecursiveClustering, BSEmcCreateRecoHitProcess, BSEmcWaveformGenerationProcess, BSEmcFwEndcapBlindDeconvProcess, BSEmcAddLinksToCluster, BSEmcFwEndcapAPDAndVPTTWaveformGenerator, BSEmcOnlineFeatureExtractionProcess, BSEmcFetchDigisFromPreclusterLinks, BSEmcFwEndcapIdealDigitizerProcess, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcFinishRecoHitProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcIdealDigitizationProcess, BSEmcApplyCalibrationProcess, TestPndProcess, BSEmcDigiDCSetterProcess, BSEmcPlotBarrelFwEndcapOverlap, BSEmcPlotMultiHitCluster, BSEmcMergeRecoHits, BSEmcPlotRecoHitVsMC, BSEmcFlagSplitOffs, BSEmcPlotAllRecoHits, BSEmcPlotCluster, BSEmcPlotWaveforms, BSEmcPlotDigis, BSEmcPlotMCDeposits, BSEmcPlotMCPoints, BSEmcPlotRecoHits, and BSEmcPlotSubCluster.
Definition at line 68 of file PndProcess.h.
References SetupParameters().
|
inline |
Get the List Of Required Parameters.
Definition at line 54 of file PndProcess.h.
References fParameterList.
|
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 99 of file PndProcess.h.
References fDetectorName, fLastMemSize, fProcessName, fProcInfo, fTimer, and fTotalTime.
|
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 81 of file PndProcess.h.
References fLastMemSize, fProcInfo, fTimer, and Process().
|
pure virtual |
The actual data transformation (digitizing, clustering, etc.) should be defined here.
Implemented in BSEmcMCDepositProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcPlotProcess, BSEmcMakePreclusters, BSEmcWaveformGenerationProcess, BSEmcMCPropagationProcess, BSEmcRecursiveClustering, BSEmcCreateRecoHitProcess, BSEmcFwEndcapBlindDeconvProcess, BSEmcAddLinksToCluster, BSEmcOnlineFeatureExtractionProcess, BSEmcFwEndcapAPDAndVPTTWaveformGenerator, BSEmcFwEndcapIdealDigitizerProcess, BSEmcFetchDigisFromPreclusterLinks, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcIdealDigitizationProcess, BSEmcApplyCalibrationProcess, BSEmcFinishRecoHitProcess, BSEmcOutOfClusterCorrectionProcess, TestPndProcess, BSEmcDigiDCSetterProcess, BSEmcPlotBarrelFwEndcapOverlap, BSEmcPlotMultiHitCluster, BSEmcPlotRecoHitVsMC, BSEmcMergeRecoHits, BSEmcFlagSplitOffs, BSEmcParameterLoadingProcess, BSEmcPlotAllRecoHits, BSEmcPlotCluster, BSEmcPlotWaveforms, BSEmcPlotDigis, BSEmcPlotMCDeposits, BSEmcPlotMCPoints, BSEmcPlotRecoHits, BSEmcPlotSubCluster, and BSEmcCounter.
Referenced by PreProcess().
|
inlinevirtual |
Pass the container register to the process, and get the processes container requirements.
t_register |
Reimplemented in BSEmcMCDepositProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcMakePreclusters, BSEmcPlotProcess, BSEmcMCPropagationProcess, BSEmcRecursiveClustering, BSEmcCreateRecoHitProcess, BSEmcWaveformGenerationProcess, BSEmcFwEndcapBlindDeconvProcess, BSEmcAddLinksToCluster, BSEmcFwEndcapAPDAndVPTTWaveformGenerator, BSEmcOnlineFeatureExtractionProcess, BSEmcFetchDigisFromPreclusterLinks, BSEmcFwEndcapIdealDigitizerProcess, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcFinishRecoHitProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcIdealDigitizationProcess, BSEmcApplyCalibrationProcess, TestPndProcess, BSEmcDigiDCSetterProcess, BSEmcPlotBarrelFwEndcapOverlap, BSEmcPlotMultiHitCluster, BSEmcMergeRecoHits, BSEmcPlotRecoHitVsMC, BSEmcFlagSplitOffs, BSEmcPlotAllRecoHits, BSEmcPlotCluster, BSEmcPlotWaveforms, BSEmcPlotDigis, BSEmcPlotMCDeposits, BSEmcPlotMCPoints, BSEmcPlotRecoHits, and BSEmcPlotSubCluster.
Definition at line 61 of file PndProcess.h.
|
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 BSEmcMCDepositProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcLateralClusterSplittingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcMakePreclusters, BSEmcWaveformGenerationProcess, BSEmcPlotProcess, BSEmcMCPropagationProcess, BSEmcRecursiveClustering, BSEmcCreateRecoHitProcess, BSEmcFwEndcapBlindDeconvProcess, BSEmcAddLinksToCluster, BSEmcBwEndcapOnlineFeatureExtraction, BSEmcFwEndcapIdealDigitizerProcess, BSEmcFwEndcapWaveformGeneration, BSEmcFinishRecoHitProcess, BSEmcOnlineFeatureExtractionProcess, BSEmcFwEndcapAPDAndVPTTWaveformGenerator, BSEmcFetchDigisFromPreclusterLinks, BSEmcIdealDigitizationProcess, BSEmcFwEndcapCosmicWaveformGeneration, BSEmcApplyCalibrationProcess, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcFwEndcapOnlineFeatureExtraction, BSEmcDigiDCSetterProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcParameterLoadingProcess, BSEmcMergeRecoHits, and BSEmcFlagSplitOffs.
Definition at line 47 of file PndProcess.h.
References fDetectorName.
|
inlinevirtual |
Set the Event time.
t_eventtime |
Definition at line 121 of file PndProcess.h.
References fEventTime.
|
pure virtual |
Fetch all parameters from the PndParameterRegister.
t_parameter |
Implemented in BSEmcMCDepositProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, BSEmcLateralClusterSplittingProcess, BSEmcRemoveSplitOffMax, BSEmcClusteringProcess, BSEmcMergePreclusters, BSEmcMakePreclusters, BSEmcPlotProcess, BSEmcWaveformGenerationProcess, BSEmcRecursiveClustering, BSEmcBwEndcapOnlineFeatureExtraction, BSEmcMCPropagationProcess, BSEmcFwEndcapWaveformGeneration, BSEmcCreateRecoHitProcess, BSEmcFwEndcapBlindDeconvProcess, BSEmcAddLinksToCluster, BSEmcFwEndcapCosmicWaveformGeneration, BSEmcOnlineFeatureExtractionProcess, BSEmcFwEndcapOnlineFeatureExtraction, BSEmcFetchDigisFromPreclusterLinks, BSEmcFwEndcapIdealDigitizerProcess, BSEmcFwEndcapAPDAndVPTTWaveformGenerator, BSEmcDigiTimeBuncherProcess, BSEmcPreclusterTimeBuncherProcess, BSEmcIdealDigitizationProcess, BSEmcApplyCalibrationProcess, BSEmcDigiDCSetterProcess, BSEmcFinishRecoHitProcess, BSEmcOutOfClusterCorrectionProcess, BSEmcCounter, TestPndProcess, BSEmcBarrelZDependentMCDepositProductionProcess, BSEmcParameterLoadingProcess, BSEmcMergeRecoHits, and BSEmcFlagSplitOffs.
Referenced by GetDataContainer().
|
inlinevirtual |
Last actions at the end of the run.
Reimplemented in TestPndProcess.
Definition at line 114 of file PndProcess.h.
References fDetectorName, fProcessName, and fTotalTime.
|
protected |
Set Detector name this PndProcess transforms data for. Required for example by EMC Processes to fetch right parameters.
Definition at line 125 of file PndProcess.h.
Referenced by PostProcess(), SetDetectorName(), and TearDown().
|
protected |
Definition at line 132 of file PndProcess.h.
Referenced by SetEventTime().
|
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 130 of file PndProcess.h.
Referenced by PostProcess(), and PreProcess().
|
protected |
Parameter names required by this PndProcess. Needs to be populated in derived class.
Definition at line 124 of file PndProcess.h.
Referenced by GetListOfRequiredParameters().
|
protected |
Name of current PndProcess (for debugging)
Definition at line 126 of file PndProcess.h.
Referenced by PostProcess(), and TearDown().
|
protected |
Helper to access cpu process Memory Info.
Definition at line 129 of file PndProcess.h.
Referenced by PostProcess(), and PreProcess().
|
protected |
Timer to monitor Process() time.
Definition at line 127 of file PndProcess.h.
Referenced by PostProcess(), and PreProcess().
|
protected |
Time taken by this Process' Process()
Definition at line 128 of file PndProcess.h.
Referenced by PostProcess(), and TearDown().