19 #ifndef BSEMCMERGEPRECLUSTERS_HH 20 #define BSEMCMERGEPRECLUSTERS_HH 27 #include "RtypesCore.h" 47 class TMemberInspector;
48 struct BSEmcClusteringData;
74 std::vector<BSEmcCluster *>
MergePreclusters(
const std::vector<const BSEmcDigi *> &t_digiCont,
const std::vector<BSEmcPrecluster *> &t_preclusterCont);
107 std::vector<Int_t>
ClusterNeigbours(
const std::vector<Int_t> &t_neighbours,
const std::vector<BSEmcPrecluster *> &t_preclusterCont);
109 std::vector<BSEmcCluster *>
MergePreclustersIntoCluster(
const std::vector<Int_t> &t_clusterNrForPrecluster,
const std::vector<BSEmcPrecluster *> &t_preclusterCont);
111 virtual void FinishClusters(
const std::vector<const BSEmcDigi *> &t_digiCont,
const std::vector<BSEmcCluster *> &t_clusterCont);
115 TString fDigiBranchname{
""};
116 TString fPreclusterBranchname{
""};
117 TString fClusterBranchname{
""};
122 std::string fClusteringParName{
""};
123 std::string fClusterPropertiesParName{
""};
124 std::string fPositionParName{
""};
125 std::string fNeighbouringRelationParName{
""};
137 Int_t fRemovedClusters;
139 Int_t wrongConnection;
Process to merge preclusters into Clusters.
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...
std::vector< BSEmcCluster * > MergePreclusters(const std::vector< const BSEmcDigi *> &t_digiCont, const std::vector< BSEmcPrecluster *> &t_preclusterCont)
std::vector< Int_t > FindNeighbouringPrecluster(const std::vector< BSEmcPrecluster *> &t_preclusterCont)
void SetDigiBranchName(const TString &t_branchname)
void SetNeighbouringRelationParName(const std::string &t_parName)
represents an emc precluster, formed in the (virtual) data concentrators
void SetNeighbourMethod(Int_t nbmethod)
void FinishCluster(const std::vector< const BSEmcDigi *> &t_digiCont, BSEmcCluster *tmpcluster)
Helper class to calculate the cluster position.
void SetPreclusterBranchName(const TString &t_branchname)
void SetClusteringParName(const std::string &t_parName)
virtual void GetDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and set the processes container requirements.
void SetClusterPropertiesParName(const std::string &t_parName)
void SetPositionParName(const std::string &t_parName)
a cluster (group of neighboring crystals) of hit emc crystals
virtual void RequestDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and get the processes container requirements.
Parameter for crystal positions.
void SetPositionMethod(Int_t method)
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
represents the reconstructed hit of one emc crystal
virtual ~BSEmcMergePreclusters()
std::vector< BSEmcCluster * > MergePreclustersIntoCluster(const std::vector< Int_t > &t_clusterNrForPrecluster, const std::vector< BSEmcPrecluster *> &t_preclusterCont)
Interface to a datacontainer to be used in PandaROOT.
virtual void FinishClusters(const std::vector< const BSEmcDigi *> &t_digiCont, const std::vector< BSEmcCluster *> &t_clusterCont)
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
Neigbouring Relations based on a list of detectorIds.
void SetClusterBranchName(const TString &t_branchname)
std::vector< Int_t > ClusterNeigbours(const std::vector< Int_t > &t_neighbours, const std::vector< BSEmcPrecluster *> &t_preclusterCont)
virtual void SetupParameters(const PndParameterRegister *t_paramRegister)
Fetch all parameters from the PndParameterRegister.