PandaRoot
BSEmcClusteringTask.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------
2 //-----------------------------------------------------------------------
3 // File and Version Information:
4 // $Id: $
5 // Software developed for the PANDA Detector at GSI.
6 // Author List:
7 // Jan Zhong
8 // Marcel Tiemens
9 // Áron Kripkó
10 //---------------------------------------------------------------------
11 //#pragma once
12 #ifndef BSEMCCLUSTERINGTASK_HH
13 #define BSEMCCLUSTERINGTASK_HH
14 
15 #include <string>
16 #include <vector>
17 
18 #include "FairLogger.h"
19 
20 #include "PndConstContainer.h"
21 #include "PndContainerI.h"
22 #include "PndMutableContainer.h"
23 #include "PndProcess.h"
24 #include "PndProcessTask.h"
25 
26 #include "BSEmcCluster.h"
27 
28 #include "BSEmcClusteringPar.h"
29 #include "BSEmcDigi.h"
30 #include "BSEmcMCDeposit.h"
31 #include "BSEmcSubCluster.h"
32 
42  public:
43  // Constructors
44  BSEmcClusteringTask(const std::string &t_detectorName = "Barrel", Bool_t t_storeclusters = kTRUE);
45  // Destructor
46  virtual ~BSEmcClusteringTask();
47 
48  void SetMCDepositBranchName(const std::string &t_branchname) { fMCDepositBranchname = t_branchname; }
49  void SetDigiBranchName(const std::string &t_branchname) { fDigiBranchname = t_branchname; }
50  void SetDigiBranchAsMutable(Bool_t t_mutable) { fMutableDigiBranch = t_mutable; }
51  void SetPreclusterBranchName(const std::string &t_branchname) { fPreclusterBranchname = t_branchname; }
52  void SetClusterBranchName(const std::string &t_branchname) { fClusterBranchname = t_branchname; }
53  void SetSubClusterBranchName(const std::string &t_branchname) { fSubClusterBranchname = t_branchname; }
54  void SetRecoHitBranchName(const std::string &t_branchname) { fRecoHitBranchname = t_branchname; }
55 
56  protected:
57  virtual void SetupDataArrays() /*override*/;
58  virtual void PreProcessing(Option_t * /*unused*/) /*override*/;
59  virtual void PostProcessing(Option_t * /*unused*/) /*override*/;
60 
61  private:
62  std::string fMCDepositBranchname{""};
63  std::string fDigiBranchname{""};
64  std::string fPreclusterBranchname{""};
65  std::string fClusterBranchname{""};
66  std::string fSubClusterBranchname{""};
67  std::string fRecoHitBranchname{""};
68 
69  Bool_t fMutableDigiBranch{kFALSE};
70  ClassDef(BSEmcClusteringTask, 1)
71 };
72 
73 #endif /*BSEMCCLUSTERINGTASK_HH*/
Task based version of a PndProcessHandler.
virtual void PreProcessing(Option_t *)
Do some task preparation before PndProcesses are run once per event.
void SetSubClusterBranchName(const std::string &t_branchname)
Container to wrap PndTCA/STDMutableContainer (not needed anymore)
void SetDigiBranchAsMutable(Bool_t t_mutable)
BSEmcClusteringTask(const std::string &t_detectorName="Barrel", Bool_t t_storeclusters=kTRUE)
Task to orchestrate the full reconstruction line from BSEmcDigis into BSEmcRecoHits.
virtual ~BSEmcClusteringTask()
virtual void PostProcessing(Option_t *)
Do some task post clean up after PndProcesses are run once per event.
void SetPreclusterBranchName(const std::string &t_branchname)
void SetClusterBranchName(const std::string &t_branchname)
void SetMCDepositBranchName(const std::string &t_branchname)
virtual void SetupDataArrays()
Define which data containers need to be fetched from the FairRootManager, pass the data container add...
Interface to a datacontainer to be used in PandaROOT.
void SetDigiBranchName(const std::string &t_branchname)
Container to wrap PndTCA/STDConstContainer (not needed anymore)
void SetRecoHitBranchName(const std::string &t_branchname)