FEDRA emulsion software from the OPERA Collaboration
EdbCluster Class Reference

#include <EdbCluster.h>

Inheritance diagram for EdbCluster:
Collaboration diagram for EdbCluster:

Public Member Functions

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 ()
 

Public Attributes

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

◆ EdbCluster() [1/2]

EdbCluster::EdbCluster ( )
inline
33 { }

◆ EdbCluster() [2/2]

EdbCluster::EdbCluster ( float  x,
float  y,
float  z,
float  a,
float  v,
int  f,
int  s,
int  seg = -1 
)
inline
35  :
36  eX(x), eY(y), eZ(z),
37  eArea(a),eVolume(v), eFrame(f), eSide(s), eSegment(seg) {}
FILE * f
Definition: RecDispMC.C:150
void a()
Definition: check_aligned.C:59
Float_t eZ
Definition: EdbCluster.h:25
Int_t eFrame
Definition: EdbCluster.h:28
Float_t eY
Definition: EdbCluster.h:24
Int_t eSegment
Definition: EdbCluster.h:30
Float_t eArea
Definition: EdbCluster.h:26
Float_t eX
Definition: EdbCluster.h:23
Int_t eSide
Definition: EdbCluster.h:29
Float_t eVolume
Definition: EdbCluster.h:27
EdbSegP * s
Definition: tlg2pattern.C:32

◆ ~EdbCluster()

virtual EdbCluster::~EdbCluster ( )
inlinevirtual
38 { }

Member Function Documentation

◆ AddPixelSum()

void EdbCluster::AddPixelSum ( int  x,
int  y,
unsigned char  pix 
)
inline
61  {
62  //to speedup the calculation; use Normalize() at the end!
63  eArea++;
64  eVolume += pix ;
65  eX += x;
66  eY += y;
67  }

◆ Compare()

Int_t EdbCluster::Compare ( const TObject *  obj) const
inline
101  {
102  const EdbCluster *c=(EdbCluster*)obj;
103  Long_t f1=0, f2=0;
104  f1 = eFrame*1000000+int(eX)*10000+int(eY);
105  f2 = c->eFrame*1000000+int(c->eX)*10000+int(c->eY);
106  if (f1>f2)
107  return 1;
108  else if (f1<f2)
109  return -1;
110  else
111  return 0;
112  }
Definition: EdbCluster.h:19

◆ Draw()

void EdbCluster::Draw ( Option_t *  opt = "") const
66 {
67  TPolyMarker3D *m = new TPolyMarker3D(1,1);
68  m->Draw();
69 }

◆ GetArea()

Float_t EdbCluster::GetArea ( ) const
inline
54 { return eArea ;}

◆ GetFrame()

Int_t EdbCluster::GetFrame ( ) const
inline
56 { return eFrame ;}

◆ GetSegment()

Int_t EdbCluster::GetSegment ( ) const
inline
58 { return eSegment;}

◆ GetSide()

Int_t EdbCluster::GetSide ( ) const
inline
57 { return eSide ;}

◆ GetVolume()

Float_t EdbCluster::GetVolume ( ) const
inline
55 { return eVolume ;}

◆ GetX()

Float_t EdbCluster::GetX ( ) const
inline
51 { return eX ;}

◆ GetY()

Float_t EdbCluster::GetY ( ) const
inline
52 { return eY ;}

◆ GetZ()

Float_t EdbCluster::GetZ ( ) const
inline
53 { return eZ ;}

◆ IsEqual()

Bool_t EdbCluster::IsEqual ( const TObject *  obj) const
inline
92  {
93  const EdbCluster *c=(EdbCluster*)obj;
94  if(c->eFrame != eFrame) return false;
95  if(c->eX != eX) return false;
96  if(c->eY != eY) return false;
97  return true;
98  }

◆ IsSortable()

Bool_t EdbCluster::IsSortable ( ) const
inline
90 { return kTRUE; }

◆ Normalize()

void EdbCluster::Normalize ( )
inline
70  {
71  // assumed to be used only once at the end!
72  eX = eX/eArea - 0.5;
73  eY = eY/eArea - 0.5;
74  }

◆ Print()

void EdbCluster::Print ( Option_t *  opt = 0) const
virtual

Reimplemented from EdbPoint3D.

59 {
60  printf("Cluster: %f %f %f \t %f %f \t %d %d %d\n",
62 }

◆ Set()

void EdbCluster::Set ( float  x,
float  y,
float  z,
float  a,
float  v,
int  f,
int  s,
int  seg = -1 
)
inline
44  {eX=x; eY=y; eZ=z; eArea=a; eVolume=v; eFrame=f; eSide=s; eSegment=seg;}

◆ Set0()

void EdbCluster::Set0 ( )
51 {
52  SetX(0); SetY(0); SetZ(0);
53  eArea=0; eVolume=0;
54  eFrame=0; eSide=0; eSegment=0;
55 }
virtual void SetX(float x)
Definition: EdbCluster.h:81
virtual void SetY(float y)
Definition: EdbCluster.h:82
virtual void SetZ(float z)
Definition: EdbCluster.h:83

◆ SetArea()

void EdbCluster::SetArea ( float  a)
inline
45 { eArea=a;}

◆ SetFrame()

void EdbCluster::SetFrame ( int  f)
inline
47 { eFrame=f;}

◆ SetSegment()

void EdbCluster::SetSegment ( int  seg)
inline
49 { eSegment=seg;}

◆ SetSide()

void EdbCluster::SetSide ( int  s)
inline
48 { eSide=s;}

◆ SetVolume()

void EdbCluster::SetVolume ( float  v)
inline
46 { eVolume=v;}

◆ SetX()

virtual void EdbCluster::SetX ( float  x)
inlinevirtual

Implements EdbPoint2D.

81 { eX=x; }

◆ SetY()

virtual void EdbCluster::SetY ( float  y)
inlinevirtual

Implements EdbPoint2D.

82 { eY=y; }

◆ SetZ()

virtual void EdbCluster::SetZ ( float  z)
inlinevirtual

Implements EdbPoint3D.

83 { eZ=z; }

◆ TT()

void EdbCluster::TT ( ) const
inline
88 { Test(); }
virtual void Test() const
Definition: EdbVirtual.h:115

◆ X()

virtual Float_t EdbCluster::X ( ) const
inlinevirtual

Implements EdbPoint2D.

78 { return eX; }

◆ Y()

virtual Float_t EdbCluster::Y ( ) const
inlinevirtual

Implements EdbPoint2D.

79 { return eY; }

◆ Z()

virtual Float_t EdbCluster::Z ( ) const
inlinevirtual

Implements EdbPoint3D.

80 { return eZ; }

Member Data Documentation

◆ eArea

Float_t EdbCluster::eArea

◆ eFrame

Int_t EdbCluster::eFrame

◆ eSegment

Int_t EdbCluster::eSegment

◆ eSide

Int_t EdbCluster::eSide

◆ eVolume

Float_t EdbCluster::eVolume

◆ eX

Float_t EdbCluster::eX

◆ eY

Float_t EdbCluster::eY

◆ eZ

Float_t EdbCluster::eZ

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