7 #ifndef BSEMCMERGEPRECLUSTERS_HH 8 #define BSEMCMERGEPRECLUSTERS_HH 15 #include "RtypesCore.h" 35 class TMemberInspector;
36 struct BSEmcClusteringData;
62 std::vector<BSEmcCluster *>
MergePreclusters(
const std::vector<const BSEmcDigi *> &t_digiCont,
const std::vector<BSEmcPrecluster *> &t_preclusterCont);
95 std::vector<Int_t>
ClusterNeigbours(
const std::vector<Int_t> &t_neighbours,
const std::vector<BSEmcPrecluster *> &t_preclusterCont);
97 std::vector<BSEmcCluster *>
MergePreclustersIntoCluster(
const std::vector<Int_t> &t_clusterNrForPrecluster,
const std::vector<BSEmcPrecluster *> &t_preclusterCont);
99 virtual void FinishClusters(
const std::vector<const BSEmcDigi *> &t_digiCont,
const std::vector<BSEmcCluster *> &t_clusterCont);
103 TString fDigiBranchname{
""};
104 TString fPreclusterBranchname{
""};
105 TString fClusterBranchname{
""};
110 std::string fClusteringParName{
""};
111 std::string fClusterPropertiesParName{
""};
112 std::string fPositionParName{
""};
113 std::string fNeighbouringRelationParName{
""};
125 Int_t fRemovedClusters;
127 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.