FEDRA emulsion software from the OPERA Collaboration
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 Print (Option_t *opt="") const
 
virtual void SetZ (float z)=0
 
virtual void Substruct (EdbPoint *p)
 
virtual void Test () const
 
virtual void TestPoint3D () const
 
virtual void Transform (const EdbAffine3D *a)
 
virtual Float_t Z () const =0
 
virtual ~EdbPoint3D ()
 
- Public Member Functions inherited from EdbPoint2D
virtual void Print (Option_t *opt="") const
 
virtual void SetX (float x)=0
 
virtual void SetY (float y)=0
 
virtual void SetZ (float z)
 
virtual void Substruct (EdbPoint *p)
 
virtual void Test () const
 
virtual void TestPoint2D () const
 
virtual void Transform (const EdbAffine2D *a)
 
virtual Float_t X () const =0
 
virtual Float_t Y () const =0
 
virtual Float_t Z () const
 
virtual ~EdbPoint2D ()
 
- Public Member Functions inherited from EdbPoint
virtual void SetX (float x)=0
 
virtual void SetY (float y)=0
 
virtual void SetZ (float z)=0
 
virtual void Substruct (EdbPoint *p)=0
 
virtual void Test () const
 
virtual void Transform (const EdbAffine2D *a)
 
virtual void Transform (const EdbAffine3D *a)
 
virtual Float_t X () const =0
 
virtual Float_t Y () const =0
 
virtual Float_t Z () const =0
 
virtual ~EdbPoint ()
 

Public Attributes

Float_t eArea
 Cluster area: number of pixels. More...
 
Int_t eFrame
 frame index More...
 
Int_t eSegment
 segment id to be attached (-1 if no segment) More...
 
Int_t eSide
 emulsion side index More...
 
Float_t eVolume
 Cluster volume - in case of greyscale pixels. More...
 
Float_t eX
 cluster coordinates in pixels(?) More...
 
Float_t eY
 cluster coordinates in pixels(?) More...
 
Float_t eZ
 cluster coordinates in pixels(?) More...
 

Detailed Description

//////////////////////////////////////////////////////////////////////// // EdbCluster // // cluster (spot of pixels) // // ////////////////////////////////////////////////////////////////////////

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
cluster coordinates in pixels(?)
Definition: EdbCluster.h:25
Int_t eFrame
frame index
Definition: EdbCluster.h:28
Float_t eY
cluster coordinates in pixels(?)
Definition: EdbCluster.h:24
Int_t eSegment
segment id to be attached (-1 if no segment)
Definition: EdbCluster.h:30
Float_t eArea
Cluster area: number of pixels.
Definition: EdbCluster.h:26
Float_t eX
cluster coordinates in pixels(?)
Definition: EdbCluster.h:23
Int_t eSide
emulsion side index
Definition: EdbCluster.h:29
Float_t eVolume
Cluster volume - in case of greyscale pixels.
Definition: EdbCluster.h:27
s
Definition: check_shower.C:55

◆ ~EdbCluster()

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

Member Function Documentation

◆ AddPixelSum()

void EdbCluster::AddPixelSum ( int  x,
int  y,
unsigned char  pix 
)
inline

to speedup the calculation; use Normalize() at the end!

61 {
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 ( void  ) 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

assumed to be used only once at the end!

70 {
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

Cluster area: number of pixels.

◆ eFrame

Int_t EdbCluster::eFrame

frame index

◆ eSegment

Int_t EdbCluster::eSegment

segment id to be attached (-1 if no segment)

◆ eSide

Int_t EdbCluster::eSide

emulsion side index

◆ eVolume

Float_t EdbCluster::eVolume

Cluster volume - in case of greyscale pixels.

◆ eX

Float_t EdbCluster::eX

cluster coordinates in pixels(?)

◆ eY

Float_t EdbCluster::eY

cluster coordinates in pixels(?)

◆ eZ

Float_t EdbCluster::eZ

cluster coordinates in pixels(?)


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