FEDRA emulsion software from the OPERA Collaboration
EdbClustP Class Reference

#include <EdbIP.h>

Inheritance diagram for EdbClustP:
Collaboration diagram for EdbClustP:

Public Member Functions

void AddClusterSum (EdbClustP *c)
 
void AddPixel (float ic, float ir, float pix)
 
void AddPixelSum (float ic, float ir, float pix)
 
 EdbClustP ()
 
void Normalize ()
 
float Peak () const
 
void Print ()
 
void Reset ()
 
void SetCG (float x, float y)
 
void SetPeak (float x, float y, float peak)
 
float Xcg () const
 
float Xp () const
 
float Ycg () const
 
float Yp () const
 
- Public Member Functions inherited from EdbCluster
void AddPixelSum (int x, int y, unsigned char pix)
 
Int_t Compare (const TObject *obj) const
 
void Draw (Option_t *opt="") const
 
 EdbCluster ()
 
 EdbCluster (float x, float y, float z, float a, float v, int f, int s, int seg=-1)
 
Float_t GetArea () const
 
Int_t GetFrame () const
 
Int_t GetSegment () const
 
Int_t GetSide () const
 
Float_t GetVolume () const
 
Float_t GetX () const
 
Float_t GetY () const
 
Float_t GetZ () const
 
Bool_t IsEqual (const TObject *obj) const
 
Bool_t IsSortable () const
 
void Normalize ()
 
void Print (Option_t *opt=0) const
 
void Set (float x, float y, float z, float a, float v, int f, int s, int seg=-1)
 
void Set0 ()
 
void SetArea (float a)
 
void SetFrame (int f)
 
void SetSegment (int seg)
 
void SetSide (int s)
 
void SetVolume (float v)
 
virtual void SetX (float x)
 
virtual void SetY (float y)
 
virtual void SetZ (float z)
 
void TT () const
 
virtual Float_t X () const
 
virtual Float_t Y () const
 
virtual Float_t Z () const
 
virtual ~EdbCluster ()
 
- Public Member Functions inherited from EdbPoint3D
virtual void Substruct (EdbPoint *p)
 
virtual void Test () const
 
virtual void TestPoint3D () const
 
virtual void Transform (const EdbAffine3D *a)
 
virtual ~EdbPoint3D ()
 
- Public Member Functions inherited from EdbPoint2D
virtual void TestPoint2D () const
 
virtual void Transform (const EdbAffine2D *a)
 
virtual ~EdbPoint2D ()
 
- Public Member Functions inherited from EdbPoint
virtual ~EdbPoint ()
 

Private Attributes

Float_t ePeak
 
Float_t eXcg
 
Float_t eXp
 
Float_t eYcg
 
Float_t eYp
 

Additional Inherited Members

- Public Attributes inherited from EdbCluster
Float_t eArea
 
Int_t eFrame
 
Int_t eSegment
 
Int_t eSide
 
Float_t eVolume
 
Float_t eX
 
Float_t eY
 
Float_t eZ
 

Constructor & Destructor Documentation

◆ EdbClustP()

EdbClustP::EdbClustP ( )
190 {
191  eXcg=0; eYcg=0; ePeak=0; eXp=0; eYp=0;
192 }
Float_t eXp
Definition: EdbIP.h:64
Float_t eYp
Definition: EdbIP.h:64
Float_t eXcg
Definition: EdbIP.h:62
Float_t eYcg
Definition: EdbIP.h:62
Float_t ePeak
Definition: EdbIP.h:63

Member Function Documentation

◆ AddClusterSum()

void EdbClustP::AddClusterSum ( EdbClustP c)
227 {
228  //to speedup the calculation use Normalize() at the end
229  SetArea( GetArea() + c->GetArea() );
230  SetVolume( GetVolume() + c->GetVolume() );
231  eXcg += c->Xcg();
232  eYcg += c->Ycg();
233 }
float Xcg() const
Definition: EdbIP.h:71
float Ycg() const
Definition: EdbIP.h:72
void SetArea(float a)
Definition: EdbCluster.h:45
Float_t GetVolume() const
Definition: EdbCluster.h:55
void SetVolume(float v)
Definition: EdbCluster.h:46
Float_t GetArea() const
Definition: EdbCluster.h:54

◆ AddPixel()

void EdbClustP::AddPixel ( float  ic,
float  ir,
float  pix 
)
196 {
197  float a = GetArea()+1;
198  float v = GetVolume()+pix;
199  float xc = (X()*GetArea() + x) / a; // geometrical center
200  float yc = (Y()*GetArea() + y) / a;
201  float xcg = (Xcg()*GetVolume() + x*pix) / v; // center of gravity
202  float ycg = (Ycg()*GetVolume() + y*pix) / v;
203 
204  SetX(xc); SetY(yc); SetArea(a);
205  SetCG(xcg,ycg); SetVolume(v);
206  if( pix > Peak() ) SetPeak(x,y,pix);
207 }
void a()
Definition: check_aligned.C:59
void SetCG(float x, float y)
Definition: EdbIP.h:69
void SetPeak(float x, float y, float peak)
Definition: EdbIP.h:70
float Peak() const
Definition: EdbIP.h:73
virtual Float_t Y() const
Definition: EdbCluster.h:79
virtual Float_t X() const
Definition: EdbCluster.h:78
virtual void SetX(float x)
Definition: EdbCluster.h:81
virtual void SetY(float y)
Definition: EdbCluster.h:82

◆ AddPixelSum()

void EdbClustP::AddPixelSum ( float  ic,
float  ir,
float  pix 
)
217 {
218  //to speedup the calculation use Normalize() at the end
219  SetArea( GetArea()+1 );
220  SetVolume( GetVolume()+pix );
221  eXcg += x;
222  eYcg += y;
223 }

◆ Normalize()

void EdbClustP::Normalize ( )
237 {
238  // assumed to be used only once at the end!
239  eXcg /= GetArea();
240  eYcg /= GetArea();
241  SetX(eXcg); SetY(eYcg);
242 }

◆ Peak()

float EdbClustP::Peak ( ) const
inline
73 {return ePeak;}

◆ Print()

void EdbClustP::Print ( )
211 {
212  printf(" eXcg=%f; eYcg=%f; ePeak=%f; eXp=%f; eYp%f0\n", eXcg,eYcg,ePeak,eXp,eYp);
213 }

◆ Reset()

void EdbClustP::Reset ( )
246 {
247  Set0();
248  SetCG(0,0);
249  SetPeak(0,0,0);
250 }
void Set0()
Definition: EdbCluster.cxx:50

◆ SetCG()

void EdbClustP::SetCG ( float  x,
float  y 
)
inline
69 {eXcg=x; eYcg=y;}

◆ SetPeak()

void EdbClustP::SetPeak ( float  x,
float  y,
float  peak 
)
inline
70 {eXp=x; eYp=y; ePeak=peak;}

◆ Xcg()

float EdbClustP::Xcg ( ) const
inline
71 {return eXcg;}

◆ Xp()

float EdbClustP::Xp ( ) const
inline
74 {return eXp;}

◆ Ycg()

float EdbClustP::Ycg ( ) const
inline
72 {return eYcg;}

◆ Yp()

float EdbClustP::Yp ( ) const
inline
75 {return eYp;}

Member Data Documentation

◆ ePeak

Float_t EdbClustP::ePeak
private

◆ eXcg

Float_t EdbClustP::eXcg
private

◆ eXp

Float_t EdbClustP::eXp
private

◆ eYcg

Float_t EdbClustP::eYcg
private

◆ eYp

Float_t EdbClustP::eYp
private

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