PandaRoot
BSEmcAddLinksToCluster.h
Go to the documentation of this file.
1 #ifndef BSEMCADDLINKSTOCLUSTER_HH
2 #define BSEMCADDLINKSTOCLUSTER_HH
3 
4 #include <string>
5 #include <vector>
6 
7 #include "Rtypes.h"
8 
9 #include "PndContainerI.h"
10 #include "PndParameterRegister.h"
11 #include "PndProcess.h"
12 
13 #include "BSEmcCluster.h"
14 #include "BSEmcClusteringData.h"
15 #include "BSEmcDigi.h"
16 
17 class BSEmcCluster;
18 class BSEmcDigi;
19 class BSEmcSubCluster;
21 class TBuffer;
22 class TClass;
23 class TMemberInspector;
24 struct BSEmcClusteringData;
25 template <class T>
27 template <class T>
29 
38 class BSEmcAddLinksToCluster : public PndProcess<BSEmcClusteringData> {
39  public:
41  virtual ~BSEmcAddLinksToCluster();
42 
43  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
44  virtual void SetData(BSEmcClusteringData *t_data) /*override*/;
45  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
46  virtual void Process() /*override*/;
47 
48  private:
49  template <class T>
50  void SetDigiLinksFor(const std::vector<T *> &t_cluster);
51  void SetClusterLinksFor(const std::vector<BSEmcSubCluster *> &t_subcluster);
52 
53  PndContainerI<BSEmcDigi> *fDigis{nullptr};
54  PndOutputContainerI<BSEmcCluster> *fCluster{nullptr};
55  PndOutputContainerI<BSEmcSubCluster> *fSubCluster{nullptr};
56  std::string fClusterBranchName{""};
57  ClassDef(BSEmcAddLinksToCluster, 1);
58 };
59 
60 #endif /*BSEMCADDLINKSTOCLUSTER_HH*/
Base Process class.
Definition: PndProcess.h:24
virtual void SetData(BSEmcClusteringData *t_data)
Pass the data container ptrs to the process, and store pointers in class members. ...
a cluster (group of neighboring crystals) of hit emc crystals
Definition: BSEmcCluster.h:54
Helper Process to add links of BSEmcMCHits to clusters and subclusters.
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
Container of addresses for data Container used by BSEmcClusteringTask and passed to Clustering Proces...
represents the reconstructed hit of one emc crystal
Definition: BSEmcDigi.h:47
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
Interface to a datacontainer to be used in PandaROOT.
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
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...
represents a reconstructed (splitted) emc cluster
virtual ~BSEmcAddLinksToCluster()