PandaRoot
BSEmcClusteringTask.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 //-----------------------------------------------------------------------
14 //-----------------------------------------------------------------------
15 // File and Version Information:
16 // $Id: $
17 // Software developed for the PANDA Detector at GSI.
18 // Author List:
19 // Jan Zhong
20 // Marcel Tiemens
21 // Áron Kripkó
22 //---------------------------------------------------------------------
23 //#pragma once
24 #ifndef BSEMCCLUSTERINGTASK_HH
25 #define BSEMCCLUSTERINGTASK_HH
26 
27 #include <string>
28 #include <vector>
29 
30 #include "FairLogger.h"
31 
32 #include "PndConstContainer.h"
33 #include "PndContainerI.h"
34 #include "PndMutableContainer.h"
35 #include "PndProcess.h"
36 #include "PndProcessTask.h"
37 
38 #include "BSEmcCluster.h"
39 
40 #include "BSEmcClusteringPar.h"
41 #include "BSEmcDigi.h"
42 #include "BSEmcMCDeposit.h"
43 #include "BSEmcSubCluster.h"
44 
54  public:
55  // Constructors
56  BSEmcClusteringTask(const std::string &t_detectorName = "Barrel", Bool_t t_storeclusters = kTRUE);
57  // Destructor
58  virtual ~BSEmcClusteringTask();
59 
60  void SetMCDepositBranchName(const std::string &t_branchname) { fMCDepositBranchname = t_branchname; }
61  void SetDigiBranchName(const std::string &t_branchname) { fDigiBranchname = t_branchname; }
62  void SetDigiBranchAsMutable(Bool_t t_mutable) { fMutableDigiBranch = t_mutable; }
63  void SetPreclusterBranchName(const std::string &t_branchname) { fPreclusterBranchname = t_branchname; }
64  void SetClusterBranchName(const std::string &t_branchname) { fClusterBranchname = t_branchname; }
65  void SetSubClusterBranchName(const std::string &t_branchname) { fSubClusterBranchname = t_branchname; }
66  void SetRecoHitBranchName(const std::string &t_branchname) { fRecoHitBranchname = t_branchname; }
67 
68  protected:
69  virtual void SetupDataArrays() /*override*/;
70  virtual void PreProcessing(Option_t * /*unused*/) /*override*/;
71  virtual void PostProcessing(Option_t * /*unused*/) /*override*/;
72 
73  private:
74  std::string fMCDepositBranchname{""};
75  std::string fDigiBranchname{""};
76  std::string fPreclusterBranchname{""};
77  std::string fClusterBranchname{""};
78  std::string fSubClusterBranchname{""};
79  std::string fRecoHitBranchname{""};
80 
81  Bool_t fMutableDigiBranch{kFALSE};
82  ClassDef(BSEmcClusteringTask, 1)
83 };
84 
85 #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)