1 #ifndef BSEMCMCPROPAGATIONPROCESS_HH 2 #define BSEMCMCPROPAGATIONPROCESS_HH 9 #include "RtypesCore.h" 22 class FairMultiLinkedData;
26 class TMemberInspector;
27 struct BSEmcClusteringData;
56 void AssignLinks(
const std::vector<const BSEmcDigi *> &t_digiCont,
const std::vector<T *> &t_array);
64 void ResetLinksBesideDepositLinks(
BSEmcCluster *t_cluster);
66 class LinkScoreBoard {
70 void SetValShift(Bool_t val, Int_t shift)
73 score |=
static_cast<int>(val) << shift;
77 Bool_t GetValShift(Int_t shift) {
return (score >> shift & 0x1) != 0; }
80 void FillScoreBoard(FairMultiLinkedData t_tracks, std::map<FairLink, LinkScoreBoard> &t_scoreBoard, Int_t t_shift);
81 void AddTracksEnteringExiting(
BSEmcCluster *t_cluster,
const FairMultiLinkedData &t_tracksEntering,
const FairMultiLinkedData &t_tracksExiting);
84 TString fMCDepositBranchname{
""};
85 TString fDigiBranchname{
""};
86 TString fClusterBranchname{
""};
87 TString fSubClusterBranchname{
""};
void SetDigiBranchName(const TString &t_branchname)
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...
void AssignLinks(const std::vector< const BSEmcDigi *> &t_digiCont, const std::vector< T *> &t_array)
void SetMCDepositBranchName(const TString &t_branchname)
virtual void GetDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and set the processes container requirements.
a cluster (group of neighboring crystals) of hit emc crystals
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
void SetSubClusterBranchName(const TString &t_branchname)
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
represents the reconstructed hit of one emc crystal
virtual ~BSEmcMCPropagationProcess()
Interface to a datacontainer to be used in PandaROOT.
Process to determine entering and exiting tracks into cluster.
virtual void RequestDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and get the processes container requirements.
BSEmcMCPropagationProcess()
Container to wrap PndTCA/STDConstContainer (not needed anymore)
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
represents a reconstructed (splitted) emc cluster
void SetClusterBranchName(const TString &t_branchname)