PandaRoot
BSEmcDigiDCSetterProcess.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef BSEMCDIGIDCSETTERPROCESS_HH
14 #define BSEMCDIGIDCSETTERPROCESS_HH
15 
16 #include <string>
17 
18 #include "Rtypes.h"
19 #include "TString.h"
20 
21 #include "PndMutableContainerI.h"
22 #include "PndProcess.h"
23 
25 #include "BSEmcDigi.h"
26 
27 class BSEmcDigi;
29 class TBuffer;
30 class TClass;
31 class TMemberInspector;
32 template <class T>
34 
44  public:
46  virtual ~BSEmcDigiDCSetterProcess();
47 
48  virtual void RequestDataContainer(PndContainerRegister *t_register) /*override*/;
49  virtual void GetDataContainer(PndContainerRegister *t_register) /*override*/;
50  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
51  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
52  virtual void Process() /*override*/;
53  void SetDigiBranchName(const TString &t_branchname) { fDigiBranchname = t_branchname; }
54 
55  private:
56  TString fDigiBranchname{""};
57 
58  PndMutableContainerI<BSEmcDigi> *fDigiArray{nullptr};
59  BSEmcDataConcentratorLookUp fDCLookUp{};
60  ClassDef(BSEmcDigiDCSetterProcess, 1);
61 };
62 
63 #endif /*BSEMCDIGIDCSETTERPROCESS_HH*/
Base Process class.
Definition: PndProcess.h:36
rudimentary if-statement heavy lookup for data concentrator number for each crystal (detectorId) deve...
virtual void GetDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and set the processes container requirements.
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...
Sets the DataConcentrator number for a BSEmcDigi.
void SetDigiBranchName(const TString &t_branchname)
virtual void RequestDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and get the processes container requirements.
represents the reconstructed hit of one emc crystal
Definition: BSEmcDigi.h:59
virtual ~BSEmcDigiDCSetterProcess()
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.