![]() |
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... | |
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.
|
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, BSEmcDigiDCSetterProcess, BSEmcPlotBarrelFwEndcapOverlap, BSEmcPlotMultiHitCluster, BSEmcMergeRecoHits, BSEmcPlotRecoHitVsMC, BSEmcFlagSplitOffs, TestPndProcess, BSEmcPlotAllRecoHits, BSEmcPlotCluster, BSEmcPlotWaveforms, BSEmcPlotDigis, BSEmcPlotMCDeposits, BSEmcPlotMCPoints, BSEmcPlotRecoHits, and BSEmcPlotSubCluster.
Definition at line 56 of file PndProcess.h.
References SetupParameters().
|
inline |
Get the List Of Required Parameters.
Definition at line 42 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 87 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 69 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, BSEmcDigiDCSetterProcess, BSEmcPlotBarrelFwEndcapOverlap, BSEmcPlotMultiHitCluster, BSEmcPlotRecoHitVsMC, BSEmcMergeRecoHits, BSEmcFlagSplitOffs, TestPndProcess, 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, BSEmcDigiDCSetterProcess, BSEmcPlotBarrelFwEndcapOverlap, BSEmcPlotMultiHitCluster, BSEmcMergeRecoHits, BSEmcPlotRecoHitVsMC, BSEmcFlagSplitOffs, TestPndProcess, BSEmcPlotAllRecoHits, BSEmcPlotCluster, BSEmcPlotWaveforms, BSEmcPlotDigis, BSEmcPlotMCDeposits, BSEmcPlotMCPoints, BSEmcPlotRecoHits, and BSEmcPlotSubCluster.
Definition at line 49 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, 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 35 of file PndProcess.h.
References fDetectorName.
|
pure virtual |
Fetch all parameters from the PndParameterRegister.
t_parameter |
Implemented in BSEmcMCDepositProductionProcess, BSEmcExpClusterSplittingProcess, BSEmcOnlineBumpSplitter, BSEmcLocalMaxFindingProcess, 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, BSEmcBarrelZDependentMCDepositProductionProcess, BSEmcParameterLoadingProcess, BSEmcMergeRecoHits, BSEmcFlagSplitOffs, and TestPndProcess.
Referenced by GetDataContainer().
|
inlinevirtual |
Last actions at the end of the run.
Reimplemented in TestPndProcess.
Definition at line 102 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 106 of file PndProcess.h.
Referenced by PostProcess(), SetDetectorName(), and 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 111 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 105 of file PndProcess.h.
Referenced by GetListOfRequiredParameters().
|
protected |
Name of current PndProcess (for debugging)
Definition at line 107 of file PndProcess.h.
Referenced by PostProcess(), and TearDown().
|
protected |
Helper to access cpu process Memory Info.
Definition at line 110 of file PndProcess.h.
Referenced by PostProcess(), and PreProcess().
|
protected |
Timer to monitor Process() time.
Definition at line 108 of file PndProcess.h.
Referenced by PostProcess(), and PreProcess().
|
protected |
Time taken by this Process' Process()
Definition at line 109 of file PndProcess.h.
Referenced by PostProcess(), and TearDown().