PandaRoot
PndEmcCluster Class Reference

#include <PndEmcCluster.h>

Inheritance diagram for PndEmcCluster:
PndEmcBump PndEmcPrecluster

Public Member Functions

 PndEmcCluster ()
 
virtual void Print (const Option_t *opt="") const
 
virtual ~PndEmcCluster ()
 
const std::vector< Int_t > & DigiList () const
 
std::vector< Int_t > & DigiList ()
 
const std::map< Int_t, Int_t > & LocalMaxMap () const
 
const std::map< Int_t, Int_t > & MemberDigiMap () const
 
virtual const PndEmcDigiMaxima (const TClonesArray *digiArray) const
 
virtual PndEmcDigiMaxima (const TClonesArray *digiArray)
 
int MaximaAsIndex (const TClonesArray *digiArray)
 
Double_t GetEnergy () const
 
Double_t theta () const
 
Double_t phi () const
 
TVector3 position () const
 
TVector3 where () const
 
Double_t x () const
 
Double_t y () const
 
Double_t z () const
 
Double_t Z20 () const
 
Double_t Z53 () const
 
Double_t LatMom () const
 
Double_t GetRadius () const
 
Double_t GetXRadius () const
 
Double_t GetYRadius () const
 
Short_t GetModule () const
 
bool IsEnergyValid () const
 
bool IsPositionValid () const
 
Int_t NumberOfDigis () const
 
Int_t NBumps () const
 
bool isInCluster (PndEmcDigi *theDigi, const TClonesArray *digiArray)
 
virtual Double_t DistanceToCentre (const TVector3 &aPoint) const
 
virtual Double_t DistanceToCentre (const PndEmcDigi *aDigi) const
 
virtual void addDigi (const TClonesArray *digiArray, Int_t iDigi)
 
virtual void removeDigi (const TClonesArray *digiArray, Int_t iDigi)
 
virtual std::vector< Int_t >::iterator removeDigi (const TClonesArray *digiArray, std::vector< Int_t >::iterator it)
 
void addCluster (PndEmcCluster *cluster, const TClonesArray *digiArray)
 
virtual void addLocalMax (const TClonesArray *digiArray, Int_t iDigi)
 
virtual void addLocalMax (const PndEmcDigi *digi)
 
virtual void SetNBumps (unsigned nbumps)
 
void SetEnergy (Double_t en)
 
void SetPosition (TVector3 pos)
 
void SetZ20 (Double_t z20)
 
void SetZ53 (Double_t z53)
 
void SetLatMom (Double_t latMom)
 
void SetTrackEntering (const FairMultiLinkedData &tracks)
 
void SetTrackExiting (const FairMultiLinkedData &tracks)
 
void SetRadius (Double_t clusradius, Int_t n=1)
 
void SetXRadius (Double_t xrad, Int_t n=1)
 
void SetYRadius (Double_t yrad, Int_t n=1)
 
void SetModule (Short_t mod)
 
void AddTracksEnteringExiting (const FairMultiLinkedData &tracksEntering, const FairMultiLinkedData &tracksExiting)
 
Double_t GetEnergyCorrected () const
 
const std::vector< Int_t > & GetMcList () const
 
Int_t GetMcRadius ()
 
Int_t GetMcIndex (Int_t i=0)
 
FairMultiLinkedData GetTrackEntering () const
 
FairMultiLinkedData GetTrackExiting () const
 
TLorentzVector GetLorentzVector ()
 
void OverwriteDigiList (Int_t, Int_t)
 

Static Public Member Functions

static Double_t FindPhiDiff (Double_t, Double_t)
 

Public Attributes

Double_t fSingleCrystalRadius = 1.84
 

Protected Member Functions

void FillScoreBoard (FairMultiLinkedData tracks, std::map< FairLink, LinkScoreBoard > &scoreBoard, Int_t shift)
 
void invalidateCache (bool)
 

Protected Attributes

std::vector< Int_t > fDigiList
 
std::vector< Int_t > fMcList
 
std::map< Int_t, Int_t > fMcMap
 
std::map< Int_t, Int_t > fMemberDigiMap
 
std::map< Int_t, Int_t > fLocalMaxMap
 
bool fEnergyValid
 
bool fRadiusValid
 
Double_t fEnergy
 
Double_t fRadius
 
bool fWhereValid
 
TVector3 fWhere
 
unsigned fNbumps
 
Double_t fZ20
 
Double_t fZ53
 
Double_t fLatMom
 
Short_t fModule
 
FairMultiLinkedData fTrackEntering
 
FairMultiLinkedData fTrackExiting
 
Double_t fXRadius
 
Double_t fYRadius
 
TLorentzVector fLorentzVector
 

Friends

class PndEmcMakeCluster
 

Detailed Description

Definition at line 40 of file PndEmcCluster.h.

Constructor & Destructor Documentation

◆ PndEmcCluster()

PndEmcCluster::PndEmcCluster ( )

◆ ~PndEmcCluster()

virtual PndEmcCluster::~PndEmcCluster ( )
virtual

Member Function Documentation

◆ addCluster()

void PndEmcCluster::addCluster ( PndEmcCluster cluster,
const TClonesArray *  digiArray 
)

◆ addDigi()

virtual void PndEmcCluster::addDigi ( const TClonesArray *  digiArray,
Int_t  iDigi 
)
virtual

Reimplemented in PndEmcPrecluster.

◆ addLocalMax() [1/2]

virtual void PndEmcCluster::addLocalMax ( const TClonesArray *  digiArray,
Int_t  iDigi 
)
virtual

◆ addLocalMax() [2/2]

virtual void PndEmcCluster::addLocalMax ( const PndEmcDigi digi)
virtual

◆ AddTracksEnteringExiting()

void PndEmcCluster::AddTracksEnteringExiting ( const FairMultiLinkedData &  tracksEntering,
const FairMultiLinkedData &  tracksExiting 
)

◆ DigiList() [1/2]

const std::vector<Int_t>& PndEmcCluster::DigiList ( ) const
inline

Definition at line 52 of file PndEmcCluster.h.

52 { return fDigiList; };
std::vector< Int_t > fDigiList

◆ DigiList() [2/2]

std::vector<Int_t>& PndEmcCluster::DigiList ( )
inline

Definition at line 53 of file PndEmcCluster.h.

53 { return fDigiList; };
std::vector< Int_t > fDigiList

◆ DistanceToCentre() [1/2]

virtual Double_t PndEmcCluster::DistanceToCentre ( const TVector3 &  aPoint) const
virtual

◆ DistanceToCentre() [2/2]

virtual Double_t PndEmcCluster::DistanceToCentre ( const PndEmcDigi aDigi) const
virtual

◆ FillScoreBoard()

void PndEmcCluster::FillScoreBoard ( FairMultiLinkedData  tracks,
std::map< FairLink, LinkScoreBoard > &  scoreBoard,
Int_t  shift 
)
protected

◆ FindPhiDiff()

static Double_t PndEmcCluster::FindPhiDiff ( Double_t  ,
Double_t   
)
static

◆ GetEnergy()

Double_t PndEmcCluster::GetEnergy ( ) const

◆ GetEnergyCorrected()

Double_t PndEmcCluster::GetEnergyCorrected ( ) const

◆ GetLorentzVector()

TLorentzVector PndEmcCluster::GetLorentzVector ( )

◆ GetMcIndex()

Int_t PndEmcCluster::GetMcIndex ( Int_t  i = 0)
inline

Definition at line 169 of file PndEmcCluster.h.

References i.

169 { return fMcList[i]; }
unsigned int i
Definition: P4_F32vec4.h:21
std::vector< Int_t > fMcList

◆ GetMcList()

const std::vector<Int_t>& PndEmcCluster::GetMcList ( ) const

◆ GetMcRadius()

Int_t PndEmcCluster::GetMcRadius ( )
inline

Definition at line 168 of file PndEmcCluster.h.

168 { return fMcList.size(); }
std::vector< Int_t > fMcList

◆ GetModule()

Short_t PndEmcCluster::GetModule ( ) const

◆ GetRadius()

Double_t PndEmcCluster::GetRadius ( ) const

◆ GetTrackEntering()

FairMultiLinkedData PndEmcCluster::GetTrackEntering ( ) const
inline

Definition at line 170 of file PndEmcCluster.h.

170 { return fTrackEntering; }
FairMultiLinkedData fTrackEntering

◆ GetTrackExiting()

FairMultiLinkedData PndEmcCluster::GetTrackExiting ( ) const
inline

Definition at line 171 of file PndEmcCluster.h.

171 { return fTrackExiting; }
FairMultiLinkedData fTrackExiting

◆ GetXRadius()

Double_t PndEmcCluster::GetXRadius ( ) const
inline

Definition at line 90 of file PndEmcCluster.h.

91  {
92  if (fRadiusValid)
93  return fXRadius;
94  }
Double_t fXRadius

◆ GetYRadius()

Double_t PndEmcCluster::GetYRadius ( ) const
inline

Definition at line 95 of file PndEmcCluster.h.

96  {
97  if (fRadiusValid)
98  return fYRadius;
99  }
Double_t fYRadius

◆ invalidateCache()

void PndEmcCluster::invalidateCache ( bool  )
protected

◆ IsEnergyValid()

bool PndEmcCluster::IsEnergyValid ( ) const
inline

Definition at line 104 of file PndEmcCluster.h.

104 { return fEnergyValid; };

◆ isInCluster()

bool PndEmcCluster::isInCluster ( PndEmcDigi theDigi,
const TClonesArray *  digiArray 
)

◆ IsPositionValid()

bool PndEmcCluster::IsPositionValid ( ) const
inline

Definition at line 105 of file PndEmcCluster.h.

105 { return fWhereValid; };

◆ LatMom()

Double_t PndEmcCluster::LatMom ( ) const
inline

Definition at line 87 of file PndEmcCluster.h.

87 { return fLatMom; }
Double_t fLatMom

◆ LocalMaxMap()

const std::map<Int_t, Int_t>& PndEmcCluster::LocalMaxMap ( ) const
inline

Definition at line 54 of file PndEmcCluster.h.

54 { return fLocalMaxMap; };
std::map< Int_t, Int_t > fLocalMaxMap

◆ Maxima() [1/2]

virtual const PndEmcDigi* PndEmcCluster::Maxima ( const TClonesArray *  digiArray) const
virtual

◆ Maxima() [2/2]

virtual PndEmcDigi* PndEmcCluster::Maxima ( const TClonesArray *  digiArray)
virtual

◆ MaximaAsIndex()

int PndEmcCluster::MaximaAsIndex ( const TClonesArray *  digiArray)

◆ MemberDigiMap()

const std::map<Int_t, Int_t>& PndEmcCluster::MemberDigiMap ( ) const
inline

Definition at line 55 of file PndEmcCluster.h.

55 { return fMemberDigiMap; };
std::map< Int_t, Int_t > fMemberDigiMap

◆ NBumps()

Int_t PndEmcCluster::NBumps ( ) const

◆ NumberOfDigis()

Int_t PndEmcCluster::NumberOfDigis ( ) const

◆ OverwriteDigiList()

void PndEmcCluster::OverwriteDigiList ( Int_t  ,
Int_t   
)

◆ phi()

Double_t PndEmcCluster::phi ( ) const

◆ position()

TVector3 PndEmcCluster::position ( ) const

◆ Print()

virtual void PndEmcCluster::Print ( const Option_t *  opt = "") const
virtual

◆ removeDigi() [1/2]

virtual void PndEmcCluster::removeDigi ( const TClonesArray *  digiArray,
Int_t  iDigi 
)
virtual

◆ removeDigi() [2/2]

virtual std::vector<Int_t>::iterator PndEmcCluster::removeDigi ( const TClonesArray *  digiArray,
std::vector< Int_t >::iterator  it 
)
virtual

◆ SetEnergy()

void PndEmcCluster::SetEnergy ( Double_t  en)
inline

Definition at line 127 of file PndEmcCluster.h.

128  {
129  fEnergy = en;
130  fEnergyValid = true;
131  }
Double_t fEnergy

◆ SetLatMom()

void PndEmcCluster::SetLatMom ( Double_t  latMom)
inline

Definition at line 139 of file PndEmcCluster.h.

139 { fLatMom = latMom; }
Double_t fLatMom

◆ SetModule()

void PndEmcCluster::SetModule ( Short_t  mod)
inline

Definition at line 161 of file PndEmcCluster.h.

161 { fModule = mod; }

◆ SetNBumps()

virtual void PndEmcCluster::SetNBumps ( unsigned  nbumps)
virtual

◆ SetPosition()

void PndEmcCluster::SetPosition ( TVector3  pos)
inline

Definition at line 132 of file PndEmcCluster.h.

133  {
134  fWhere = pos;
135  fWhereValid = true;
136  }
TVector3 fWhere

◆ SetRadius()

void PndEmcCluster::SetRadius ( Double_t  clusradius,
Int_t  n = 1 
)
inline

Definition at line 142 of file PndEmcCluster.h.

143  {
144  if (n == 0)
145  n = 1;
146  fRadius = clusradius + n * fSingleCrystalRadius;
147  fRadiusValid = true;
148  } // Add single crystal radius to precluster radius, because distance to crystal centre is taken and not its size. If this correction is not implemented, preclusters consisting
Double_t fSingleCrystalRadius
Definition: PndEmcCluster.h:49
Double_t fRadius

◆ SetTrackEntering()

void PndEmcCluster::SetTrackEntering ( const FairMultiLinkedData &  tracks)
inline

Definition at line 140 of file PndEmcCluster.h.

140 { fTrackEntering = tracks; }
FairMultiLinkedData fTrackEntering

◆ SetTrackExiting()

void PndEmcCluster::SetTrackExiting ( const FairMultiLinkedData &  tracks)
inline

Definition at line 141 of file PndEmcCluster.h.

141 { fTrackExiting = tracks; }
FairMultiLinkedData fTrackExiting

◆ SetXRadius()

void PndEmcCluster::SetXRadius ( Double_t  xrad,
Int_t  n = 1 
)
inline

Definition at line 151 of file PndEmcCluster.h.

152  {
153  fXRadius = xrad + n * fSingleCrystalRadius;
154  fRadiusValid = true;
155  }
Double_t fSingleCrystalRadius
Definition: PndEmcCluster.h:49
Double_t fXRadius

◆ SetYRadius()

void PndEmcCluster::SetYRadius ( Double_t  yrad,
Int_t  n = 1 
)
inline

Definition at line 156 of file PndEmcCluster.h.

157  {
158  fYRadius = yrad + n * fSingleCrystalRadius;
159  fRadiusValid = true;
160  }
Double_t fSingleCrystalRadius
Definition: PndEmcCluster.h:49
Double_t fYRadius

◆ SetZ20()

void PndEmcCluster::SetZ20 ( Double_t  z20)
inline

Definition at line 137 of file PndEmcCluster.h.

137 { fZ20 = z20; }

◆ SetZ53()

void PndEmcCluster::SetZ53 ( Double_t  z53)
inline

Definition at line 138 of file PndEmcCluster.h.

138 { fZ53 = z53; }

◆ theta()

Double_t PndEmcCluster::theta ( ) const

◆ where()

TVector3 PndEmcCluster::where ( ) const

◆ x()

Double_t PndEmcCluster::x ( ) const

◆ y()

Double_t PndEmcCluster::y ( ) const

◆ z()

Double_t PndEmcCluster::z ( ) const

◆ Z20()

Double_t PndEmcCluster::Z20 ( ) const
inline

Definition at line 83 of file PndEmcCluster.h.

83 { return fZ20; }

◆ Z53()

Double_t PndEmcCluster::Z53 ( ) const
inline

Definition at line 85 of file PndEmcCluster.h.

85 { return fZ53; }

Friends And Related Function Documentation

◆ PndEmcMakeCluster

friend class PndEmcMakeCluster
friend

Definition at line 178 of file PndEmcCluster.h.

Member Data Documentation

◆ fDigiList

std::vector<Int_t> PndEmcCluster::fDigiList
protected

Definition at line 183 of file PndEmcCluster.h.

◆ fEnergy

Double_t PndEmcCluster::fEnergy
protected

Definition at line 191 of file PndEmcCluster.h.

◆ fEnergyValid

bool PndEmcCluster::fEnergyValid
protected

Definition at line 189 of file PndEmcCluster.h.

◆ fLatMom

Double_t PndEmcCluster::fLatMom
protected

Definition at line 198 of file PndEmcCluster.h.

◆ fLocalMaxMap

std::map<Int_t, Int_t> PndEmcCluster::fLocalMaxMap
protected

Definition at line 187 of file PndEmcCluster.h.

◆ fLorentzVector

TLorentzVector PndEmcCluster::fLorentzVector
protected

Definition at line 207 of file PndEmcCluster.h.

◆ fMcList

std::vector<Int_t> PndEmcCluster::fMcList
mutableprotected

Definition at line 184 of file PndEmcCluster.h.

◆ fMcMap

std::map<Int_t, Int_t> PndEmcCluster::fMcMap
mutableprotected

Definition at line 185 of file PndEmcCluster.h.

◆ fMemberDigiMap

std::map<Int_t, Int_t> PndEmcCluster::fMemberDigiMap
protected

Definition at line 186 of file PndEmcCluster.h.

◆ fModule

Short_t PndEmcCluster::fModule
protected

Definition at line 199 of file PndEmcCluster.h.

◆ fNbumps

unsigned PndEmcCluster::fNbumps
protected

Definition at line 195 of file PndEmcCluster.h.

◆ fRadius

Double_t PndEmcCluster::fRadius
protected

Definition at line 192 of file PndEmcCluster.h.

◆ fRadiusValid

bool PndEmcCluster::fRadiusValid
protected

Definition at line 190 of file PndEmcCluster.h.

◆ fSingleCrystalRadius

Double_t PndEmcCluster::fSingleCrystalRadius = 1.84

Definition at line 49 of file PndEmcCluster.h.

◆ fTrackEntering

FairMultiLinkedData PndEmcCluster::fTrackEntering
protected

Definition at line 201 of file PndEmcCluster.h.

◆ fTrackExiting

FairMultiLinkedData PndEmcCluster::fTrackExiting
protected

Definition at line 202 of file PndEmcCluster.h.

◆ fWhere

TVector3 PndEmcCluster::fWhere
protected

Definition at line 194 of file PndEmcCluster.h.

◆ fWhereValid

bool PndEmcCluster::fWhereValid
protected

Definition at line 193 of file PndEmcCluster.h.

◆ fXRadius

Double_t PndEmcCluster::fXRadius
protected

Definition at line 204 of file PndEmcCluster.h.

◆ fYRadius

Double_t PndEmcCluster::fYRadius
protected

Definition at line 205 of file PndEmcCluster.h.

◆ fZ20

Double_t PndEmcCluster::fZ20
protected

Definition at line 196 of file PndEmcCluster.h.

◆ fZ53

Double_t PndEmcCluster::fZ53
protected

Definition at line 197 of file PndEmcCluster.h.


The documentation for this class was generated from the following file: