PandaRoot
BSEmcFetchDigisFromPreclusterLinks.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 BSEMCFETCHDIGISFROMPRECLUSTERLINKS_HH
14 #define BSEMCFETCHDIGISFROMPRECLUSTERLINKS_HH
15 
16 #include <memory>
17 #include <string>
18 
19 #include "Rtypes.h"
20 #include "TString.h"
21 
22 #include "PndContainerI.h"
23 #include "PndParameterRegister.h"
24 #include "PndProcess.h"
25 
26 #include "BSEmcDataBranchNames.h"
27 #include "BSEmcDigi.h"
28 #include "BSEmcPrecluster.h"
29 
30 class BSEmcDigi;
31 class BSEmcPrecluster;
33 class TBuffer;
34 class TClass;
35 class TMemberInspector;
36 struct BSEmcClusteringData;
37 template <class T>
39 
50  public:
51  BSEmcFetchDigisFromPreclusterLinks(const TString &t_sourcedigibranchname = "Preclustering" + BSEmcDataBranchNames::fgDigiBranchName + "FwEndcap");
53 
54  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
55  virtual void RequestDataContainer(PndContainerRegister *t_register) /*override*/;
56  virtual void GetDataContainer(PndContainerRegister *t_register) /*override*/;
57  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
58  virtual void Process() /*override*/;
59 
60  void SetDigiSourceBranchName(const TString &t_branchname) { fDigiSourceBranchname = t_branchname; }
61  void SetDigiTargetBranchName(const TString &t_branchname) { fDigiTargetBranchName = t_branchname; }
62  void SetPreclusterBranchName(const TString &t_branchname) { fPreclusterBranchname = t_branchname; }
63 
64  private:
65  PndMutableContainerI<BSEmcDigi> *fDigis{nullptr};
66  PndMutableContainerI<BSEmcPrecluster> *fPrecluster{nullptr};
67  TString fDigiSourceBranchname{""};
68  TString fDigiTargetBranchName{""};
69  TString fPreclusterBranchname{""};
70 
72 };
73 
74 #endif /*BSEMCFETCHDIGISFROMPRECLUSTERLINKS_HH*/
Base Process class.
Definition: PndProcess.h:36
represents an emc precluster, formed in the (virtual) data concentrators
represents the reconstructed hit of one emc crystal
Definition: BSEmcDigi.h:59
Interface to a datacontainer to be used in PandaROOT.
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
const std::string fgDigiBranchName