13 #ifndef BSEMCMCPROPAGATIONPROCESS_HH 14 #define BSEMCMCPROPAGATIONPROCESS_HH 21 #include "RtypesCore.h" 34 class FairMultiLinkedData;
38 class TMemberInspector;
39 struct BSEmcClusteringData;
68 void AssignLinks(
const std::vector<const BSEmcDigi *> &t_digiCont,
const std::vector<T *> &t_array);
76 void ResetLinksBesideDepositLinks(
BSEmcCluster *t_cluster);
78 class LinkScoreBoard {
82 void SetValShift(Bool_t val, Int_t shift)
85 score |=
static_cast<int>(val) << shift;
89 Bool_t GetValShift(Int_t shift) {
return (score >> shift & 0x1) != 0; }
92 void FillScoreBoard(FairMultiLinkedData t_tracks, std::map<FairLink, LinkScoreBoard> &t_scoreBoard, Int_t t_shift);
93 void AddTracksEnteringExiting(
BSEmcCluster *t_cluster,
const FairMultiLinkedData &t_tracksEntering,
const FairMultiLinkedData &t_tracksExiting);
96 TString fMCDepositBranchname{
""};
97 TString fDigiBranchname{
""};
98 TString fClusterBranchname{
""};
99 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)