PandaRoot
PndProcessHandler.h
Go to the documentation of this file.
1 #ifndef PNDPROCESSORHANDLER_HH
2 #define PNDPROCESSORHANDLER_HH
3 
4 #include <memory>
5 #include <string>
6 
7 #include "PndParameterRegister.h"
8 #include "PndContainerRegister.h"
9 #include "PndProcess.h"
10 
19  public:
20  PndProcessHandler(const std::string &t_detectorname = "") : fDetectorName(t_detectorname){};
21  virtual ~PndProcessHandler();
22 
27  void AddProcess(PndProcess * /*t_process*/);
28 
33  void SetupProcesses();
34 
35  const std::vector<PndProcess *> &GetProcesses() { return fProcesses; }
38  const std::string &GetDetectorName() const { return fDetectorName; }
39 
40  virtual void GetRequiredDataContainerInfo();
41  virtual void PassDataContainersToProcesses();
42 
43  protected:
44  virtual void SetupProcess(PndProcess *t_process);
45 
46  std::vector<PndProcess *> fProcesses{};
47  std::unique_ptr<PndParameterRegister> fParameterRegister{new PndParameterRegister};
48  std::unique_ptr<PndContainerRegister> fContainerRegister{new PndContainerRegister};
49  std::string fDetectorName{""};
50 };
51 
52 
53 #endif /*PNDPROCESSORHANDLER_HH*/
Base Process class.
Definition: PndProcess.h:24
void SetupProcesses()
Call for each PndProcess the SetupParameter.
PndProcessHandler(const std::string &t_detectorname="")
virtual void GetRequiredDataContainerInfo()
const std::string & GetDetectorName() const
const PndParameterRegister * GetParameterRegister() const
virtual void PassDataContainersToProcesses()
virtual ~PndProcessHandler()
const std::vector< PndProcess * > & GetProcesses()
std::unique_ptr< PndContainerRegister > fContainerRegister
PndParameterRegister * GetParameterRegister()
void AddProcess(PndProcess *)
Add a PndProcess of appropriate type to the list of PndProcesses to be managed.
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
Base class for classes handling a set of PndProcesses.
std::unique_ptr< PndParameterRegister > fParameterRegister
virtual void SetupProcess(PndProcess *t_process)
std::string fDetectorName
std::vector< PndProcess * > fProcesses