1 #ifndef PNDPROCESSORHANDLER_HH 2 #define PNDPROCESSORHANDLER_HH 17 template <
class DataStruct>
52 std::unique_ptr<DataStruct>
fData{
new DataStruct};
57 template <
class DataStruct>
63 this->fProcesses.clear();
66 template <
class DataStruct>
74 template <
class DataStruct>
78 process->SetData(
fData.get());
83 template <
class DataStruct>
89 template <
class DataStruct>
93 process->PreProcess();
95 process->PostProcess();
PndProcessHandler(const std::string &t_detectorname="")
std::unique_ptr< DataStruct > fData
PndParameterRegister * GetParameterRegister()
virtual void SetupProcess(PndProcess< DataStruct > *t_process)
virtual ~PndProcessHandler()
void AddProcess(PndProcess< DataStruct > *)
Add a PndProcess of appropriate type to the list of PndProcesses to be managed.
std::unique_ptr< PndParameterRegister > fParameterRegister
void SetupProcesses()
Call for each PndProcess the SetData and SetupParameter.
const std::string & GetDetectorName() const
const std::vector< PndProcess< DataStruct > * > & GetProcesses()
const PndParameterRegister * GetParameterRegister() const
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 b...
void CallProcesses()
Call for all PndProcesses the PreProcess/Process/PosProcess functions.
std::string fDetectorName
DataStruct * GetPtrToData()
const std::vector< std::string > & GetListOfRequiredParameters() const
Get the List Of Required Parameters.
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
std::vector< PndProcess< DataStruct > * > fProcesses
Base class for classes handling a set of PndProcesses.
virtual void SetupParameters(const PndParameterRegister *t_parameter)=0
Fetch all parameters from the PndParameterRegister.
const DataStruct * GetCopyOfData() const