1 #ifndef BSEMCMCPROPAGATIONPROCESS_HH 2 #define BSEMCMCPROPAGATIONPROCESS_HH 9 #include "RtypesCore.h" 23 class FairMultiLinkedData;
27 class TMemberInspector;
54 void AssignLinks(
const std::vector<const BSEmcDigi *> &t_digiCont,
const std::vector<T *> &t_array);
59 class LinkScoreBoard {
63 void SetValShift(Bool_t val, Int_t shift)
66 score |=
static_cast<int>(val) << shift;
70 Bool_t GetValShift(Int_t shift) {
return (score >> shift & 0x1) != 0; }
73 void FillScoreBoard(FairMultiLinkedData t_tracks, std::map<FairLink, LinkScoreBoard> &t_scoreBoard, Int_t t_shift);
74 void AddTracksEnteringExiting(
BSEmcCluster *t_cluster,
const FairMultiLinkedData &t_tracksEntering,
const FairMultiLinkedData &t_tracksExiting);
82 std::string fHitBranchName{
""};
83 std::string fDigiBranchName{
""};
84 std::string fClusterBranchName{
""};
85 std::string fSubClusterBranchName{
""};
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)
virtual void SetData(BSEmcClusteringData *t_pdata)
Pass the data container ptrs to the process, and store pointers in class members. ...
a cluster (group of neighboring crystals) of hit emc crystals
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
Container of addresses for data Container used by BSEmcClusteringTask and passed to Clustering Proces...
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.
BSEmcMCPropagationProcess()
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
represents a reconstructed (splitted) emc cluster