12 #ifndef BSEMCCLUSTER_HH    13 #define BSEMCCLUSTER_HH    19 #include "RtypesCore.h"     22 #include "FairMultiLinkedData.h"     23 #include "FairTimeStamp.h"           31 class TMemberInspector;
    43   BSEmcDigiInfo_t(Int_t t_digiIdx = -1, Int_t t_detId = 0, Double_t t_weight = 1.0) : fDigiIdx(t_digiIdx), fDetectorId(t_detId), fWeight(t_weight) {}
    61   virtual void Print(
const Option_t *t_opt = 
"") 
const;
    65   Double_t GetEnergy() 
const;
    66   TVector3 GetPosition() 
const;
    68   Int_t NumberOfDigis() 
const;
    73   void SetNSubClusters(UInt_t nSubClusters);
    84   void SetTrackEntering(
const FairMultiLinkedData &t_tracks) { fTrackEntering = t_tracks; }
    85   void SetTrackExiting(
const FairMultiLinkedData &t_tracks) { fTrackExiting = t_tracks; }
    87   std::vector<Int_t> GetMcList(Int_t t_branchId) 
const;
    91   const std::vector<BSEmcDigiInfo_t> &
GetDigis()
 const { 
return fDigis; }
    92   const std::vector<BSEmcDigiInfo_t> &
GetMaximaDigis()
 const { 
return fMaxima; }
    94   const BSEmcDigi *GetMaximumDigi(
const std::vector<const BSEmcDigi *> &t_digis) 
const;
    95   Double_t GetMaximumEnergy(
const std::vector<const BSEmcDigi *> &t_digis) 
const;
    96   BSEmcDigiInfo_t GetMaximumDigiInfo(
const std::vector<const BSEmcDigi *> &t_digis) 
const;
    97   Double_t CalculateTimeStamp(
const std::vector<const BSEmcDigi *> &t_digis) 
const;
   100   void AddDigi(Int_t t_arrayindex, Int_t t_detectorId, Double_t t_weight = 1);
   101   void AddDigiLink(FairLink t_entrynr);
   102   void RemoveDigi(Int_t t_arrayindex);
   105   void AddMaximum(Int_t t_arrayindex, Int_t t_detectorid);
   106   void RemoveMaximum(Int_t t_arrayindex);
   113   void SetRadius(Double_t t_clusradius) { fRadius = t_clusradius; }
   126   void invalidateCache(Bool_t);
   129   std::vector<BSEmcDigiInfo_t> fDigis{};
   130   std::vector<BSEmcDigiInfo_t> fMaxima{};
   132   Bool_t fEnergyValid{kFALSE};
   133   Double_t fEnergy{-1};
   134   Bool_t fWhereValid{kFALSE};
   135   TVector3 fWhere{0, 0, 0};
   136   UInt_t fNSubClusters{0};
   138   FairMultiLinkedData fTrackEntering{};
   139   FairMultiLinkedData fTrackExiting{};
   141   Double_t fRadius{-1};
   142   Double_t fXRadius{-1};
   143   Double_t fYRadius{-1};
 
void SetEnergy(Double_t t_energy)
 
Double_t GetRadius() const
 
BSEmcDigiInfo_t(Int_t t_digiIdx=-1, Int_t t_detId=0, Double_t t_weight=1.0)
 
FairMultiLinkedData GetTrackExiting() const
 
void SetTrackExiting(const FairMultiLinkedData &t_tracks)
 
const std::vector< BSEmcDigiInfo_t > & GetDigis() const
 
void SetXRadius(Double_t t_xrad)
 
Double_t GetYRadius() const
 
const std::vector< BSEmcDigiInfo_t > & GetMaximaDigis() const
 
FairMultiLinkedData GetTrackEntering() const
 
void SetPosition(const TVector3 &t_pos)
 
a cluster (group of neighboring crystals) of hit emc crystals 
 
void SetRadius(Double_t t_clusradius)
 
Double_t GetXRadius() const
 
Int_t GetNumberOfDigis() const
 
void SetTrackEntering(const FairMultiLinkedData &t_tracks)
 
represents the reconstructed hit of one emc crystal 
 
void SetYRadius(Double_t t_yrad)
 
Bool_t operator==(const BSEmcDigiInfo_t &t_other)
 
simple Struct used in Cluster classes to index crystal. Includes the weight of the crystal on the cur...
 
Int_t GetNumberOfSubCluster() const