12 #ifndef PNDEMCCLUSTER_H
13 #define PNDEMCCLUSTER_H
16 #include "FairTimeStamp.h"
35 virtual void Print(
const Option_t* opt =
"")
const;
58 TVector3
where()
const;
93 virtual void addDigi(
const TClonesArray *digiArray, Int_t iDigi);
94 virtual void removeDigi(
const TClonesArray *digiArray, Int_t iDigi);
95 virtual std::vector<Int_t>::iterator
removeDigi(
const TClonesArray *digiArray, std::vector<Int_t>::iterator it);
97 virtual void addLocalMax(
const TClonesArray *digiArray, Int_t iDigi);
114 const std::vector<Int_t> &
GetMcList()
const;
132 score |= val << shift;
138 void FillScoreBoard(FairMultiLinkedData tracks, std::map<FairLink, LinkScoreBoard>& scoreBoard, Int_t shift);
161 #endif // EMCCLUSTER_HH
virtual void Print(const Option_t *opt="") const
void SetEnergy(Double_t en)
Bool_t GetValShift(Int_t shift)
bool isInCluster(PndEmcDigi *theDigi, const TClonesArray *digiArray)
represents the reconstructed hit of one emc crystal
Short_t GetModule() const
std::map< Int_t, Int_t > fMcMap
Double_t val[nBoxes][nFEBox]
void SetTrackExiting(const FairMultiLinkedData &tracks)
bool IsEnergyValid() const
virtual void SetNBumps(unsigned nbumps)
const std::vector< Int_t > & DigiList() const
stores crystal index coordinates (x,y) or (theta,phi)
Int_t GetMcIndex(Int_t i=0)
void AddTracksEnteringExiting(const FairMultiLinkedData &tracksEntering, const FairMultiLinkedData &tracksExiting)
Updates the links to entering and exiting tracks.
const std::vector< Int_t > & GetMcList() const
void addCluster(PndEmcCluster *cluster, const TClonesArray *digiArray)
TVector3 position() const
FairMultiLinkedData GetTrackExiting() const
FairMultiLinkedData fTrackExiting
virtual const PndEmcDigi * Maxima(const TClonesArray *digiArray) const
std::vector< Int_t > fMcList
const std::map< Int_t, Int_t > & LocalMaxMap() const
FairMultiLinkedData fTrackEntering
virtual Double_t DistanceToCentre(const TVector3 &aPoint) const
virtual void removeDigi(const TClonesArray *digiArray, Int_t iDigi)
a cluster (group of neighboring crystals) of hit emc crystals
std::map< Int_t, Int_t > fMemberDigiMap
const std::map< Int_t, Int_t > & MemberDigiMap() const
Task to cluster PndEmcDigis.
void SetZ20(Double_t z20)
Int_t NumberOfDigis() const
void SetZ53(Double_t z53)
void invalidateCache(bool)
void SetValShift(Bool_t val, Int_t shift)
Double_t GetEnergyCorrected() const
bool IsPositionValid() const
virtual Double_t energy() const
void SetPosition(TVector3 pos)
std::vector< Int_t > fDigiList
void SetTrackEntering(const FairMultiLinkedData &tracks)
virtual void addLocalMax(const TClonesArray *digiArray, Int_t iDigi)
std::map< Int_t, Int_t > fLocalMaxMap
void SetLatMom(Double_t latMom)
std::vector< Int_t > & DigiList()
FairMultiLinkedData GetTrackEntering() const
static Double_t FindPhiDiff(Double_t, Double_t)
virtual void addDigi(const TClonesArray *digiArray, Int_t iDigi)
void FillScoreBoard(FairMultiLinkedData tracks, std::map< FairLink, LinkScoreBoard > &scoreBoard, Int_t shift)