PandaRoot
BSEmcDigitizerTask.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 BSEMCDIGITIZERTASK_HH
14 #define BSEMCDIGITIZERTASK_HH
15 
16 #include <string>
17 
18 #include "FairLogger.h"
19 #include "FairRootManager.h"
20 
21 #include "PndConstContainer.h"
22 #include "PndContainerI.h"
23 #include "PndMutableContainer.h"
24 #include "PndProcess.h"
25 #include "PndProcessTask.h"
26 
27 #include "BSEmcDigi.h"
28 
29 #include "BSEmcMCDeposit.h"
30 #include "BSEmcMultiWaveform.h"
31 
42  public:
43  BSEmcDigitizerTask(const std::string &t_detectorname = "Barrel", Bool_t t_storedigis = kTRUE);
44  virtual ~BSEmcDigitizerTask();
45 
46  void SetMCDepositBranchName(const std::string &t_depositbranchname) { fMCDepositBranchname = t_depositbranchname; }
47  void SetDigiBranchName(const std::string &t_digibranchname) { fDigiBranchname = t_digibranchname; }
48  void SetWaveformBranchName(const std::string &t_waveformbranchname) { fWaveformBranchname = t_waveformbranchname; }
49 
50  protected:
51  virtual void PreProcessing(Option_t * /*unused*/) /*override*/;
52  virtual void PostProcessing(Option_t * /*unused*/) /*override*/;
53  virtual void SetupDataArrays() /*override*/;
54 
55  private:
56  std::string fMCDepositBranchname{""};
57  std::string fDigiBranchname{""};
58  std::string fWaveformBranchname{""};
59  ClassDef(BSEmcDigitizerTask, 1);
60 };
61 
62 #endif /*BSEMCDIGITIZERTASK_HH*/
Task based version of a PndProcessHandler.
virtual void SetupDataArrays()
Define which data containers need to be fetched from the FairRootManager, pass the data container add...
void SetDigiBranchName(const std::string &t_digibranchname)
Task managing all processes required to create BSEmcDigis from BSEmcMCDeposits.
Container to wrap PndTCA/STDMutableContainer (not needed anymore)
virtual ~BSEmcDigitizerTask()
virtual void PreProcessing(Option_t *)
Do some task preparation before PndProcesses are run once per event.
void SetMCDepositBranchName(const std::string &t_depositbranchname)
BSEmcDigitizerTask(const std::string &t_detectorname="Barrel", Bool_t t_storedigis=kTRUE)
virtual void PostProcessing(Option_t *)
Do some task post clean up after PndProcesses are run once per event.
Interface to a datacontainer to be used in PandaROOT.
void SetWaveformBranchName(const std::string &t_waveformbranchname)
Container to wrap PndTCA/STDConstContainer (not needed anymore)