FEDRA emulsion software from the OPERA Collaboration
EdbSegment Class Reference

segment of the track More...

#include <EdbSegment.h>

Inheritance diagram for EdbSegment:
Collaboration diagram for EdbSegment:

Public Member Functions

void AddElement (TObject *element)
 
void Copy (EdbSegment &s)
 
 EdbSegment ()
 array of clusters (transient!) More...
 
 EdbSegment (float x, float y, float z, float tx, float ty, float dz=0, int side=0, int puls=0, int id=0)
 
TObjArray * GetElements () const
 
Int_t GetID () const
 
Int_t GetNelements () const
 
Int_t GetPuls () const
 
Int_t GetSide () const
 
float GetSigmaX () const
 
float GetSigmaY () const
 
Int_t GetVolume () const
 
void Print (Option_t *opt=0) const
 
void Set (float x, float y, float z, float tx, float ty, float dz=0, int side=0, int puls=0, int id=0)
 
void SetID (int id)
 
void SetIDE ()
 
void SetIDE (int id)
 
void SetPuls (int puls)
 
void SetSide (int side)
 
void SetSigma (float sx, float sy)
 
void UnSetIDE ()
 
virtual ~EdbSegment ()
 
- Public Member Functions inherited from EdbSeg3D
 EdbSeg3D ()
 
 EdbSeg3D (float x, float y, float z, float tx, float ty, float dz=0)
 
virtual Float_t GetDz () const
 
virtual Float_t GetTx () const
 
virtual Float_t GetTy () const
 
virtual Float_t GetX0 () const
 
virtual Float_t GetY0 () const
 
virtual Float_t GetZ0 () const
 
virtual void Set (float x, float y, float z, float tx, float ty, float dz=0)
 
virtual void SetDz (float dz)
 
virtual void SetTx (float tx)
 
virtual void SetTy (float ty)
 
virtual void SetX0 (float x)
 
virtual void SetY0 (float y)
 
virtual void SetZ0 (float z)
 
virtual void Transform (const EdbAffine2D *aff)
 
virtual ~EdbSeg3D ()
 

Private Attributes

TObjArray * eElements
 
Int_t eID
 segment identifier More...
 
Int_t ePuls
 puls height (number of grains) More...
 
Int_t eSide
 side of the segment location (0-up, 1-down) More...
 
Float_t eSigmaX
 dispersion parameter of grains around track line More...
 
Float_t eSigmaY
 dispersion parameter of grains around track line More...
 

Detailed Description

segment of the track

Constructor & Destructor Documentation

◆ EdbSegment() [1/2]

EdbSegment::EdbSegment ( )

array of clusters (transient!)

73{
74 eSide = -1;
75 eElements = 0;
76}
Int_t eSide
side of the segment location (0-up, 1-down)
Definition: EdbSegment.h:67
TObjArray * eElements
Definition: EdbSegment.h:73

◆ EdbSegment() [2/2]

EdbSegment::EdbSegment ( float  x,
float  y,
float  z,
float  tx,
float  ty,
float  dz = 0,
int  side = 0,
int  puls = 0,
int  id = 0 
)
80 :
81 EdbSeg3D( x, y, z, tx, ty, dz), eSide(side), ePuls(puls), eID(id)
82{
83 eElements = 0;
84}
brick dz
Definition: RecDispMC.C:107
EdbSeg3D()
Definition: EdbSegment.h:33
Int_t ePuls
puls height (number of grains)
Definition: EdbSegment.h:68
Int_t eID
segment identifier
Definition: EdbSegment.h:69

◆ ~EdbSegment()

EdbSegment::~EdbSegment ( )
virtual
88{
89 if(eElements) {eElements->Clear(); SafeDelete(eElements);}
90}

Member Function Documentation

◆ AddElement()

void EdbSegment::AddElement ( TObject *  element)
151{
152 if(!eElements) eElements = new TObjArray();
153 eElements->Add(element);
154}

◆ Copy()

void EdbSegment::Copy ( EdbSegment s)
130{
131 //copy contents of s into this
132 Set( s.GetX0(),s.GetY0(),s.GetZ0(),s.GetTx(),s.GetTy(),s.GetDz(), s.GetSide(),s.GetPuls(), s.GetID() );
133 SetSigma(s.GetSigmaX(),s.GetSigmaY());
134 if(eElements) eElements->Clear();
135 int n = s.GetNelements();
136 for(int i=0; i<n; i++) AddElement( s.GetElements()->UncheckedAt(i) );
137}
void AddElement(TObject *element)
Definition: EdbSegment.cxx:150
void Set(float x, float y, float z, float tx, float ty, float dz=0, int side=0, int puls=0, int id=0)
Definition: EdbSegment.cxx:93
void SetSigma(float sx, float sy)
Definition: EdbSegment.h:85
s
Definition: check_shower.C:55

◆ GetElements()

TObjArray * EdbSegment::GetElements ( ) const
inline
117{ return eElements; }

◆ GetID()

Int_t EdbSegment::GetID ( ) const
inline
92{ return eID; }

◆ GetNelements()

Int_t EdbSegment::GetNelements ( ) const
inline
114 { if(eElements) return eElements->GetLast()+1;
115 else return 0; }

◆ GetPuls()

Int_t EdbSegment::GetPuls ( ) const
inline
90{ return ePuls%1000; }

◆ GetSide()

Int_t EdbSegment::GetSide ( ) const
inline
89{ return eSide; }

◆ GetSigmaX()

float EdbSegment::GetSigmaX ( ) const
inline
86{ return eSigmaX; }
Float_t eSigmaX
dispersion parameter of grains around track line
Definition: EdbSegment.h:70

◆ GetSigmaY()

float EdbSegment::GetSigmaY ( ) const
inline
87{ return eSigmaY; }
Float_t eSigmaY
dispersion parameter of grains around track line
Definition: EdbSegment.h:71

◆ GetVolume()

Int_t EdbSegment::GetVolume ( ) const
inline
91{ return ePuls/1000; }

◆ Print()

void EdbSegment::Print ( Option_t *  opt = 0) const
141{
142 printf("EdbSegment: %f %f %f \t %f %f %f \t %d %d %d \t %d\n",
143 GetX0(), GetY0(), GetZ0(),
144 GetTx(), GetTy(), GetDz(),
145 GetSide(), GetPuls(), GetID(),
146 GetNelements());
147}
virtual Float_t GetDz() const
Definition: EdbSegment.h:43
virtual Float_t GetX0() const
Definition: EdbSegment.h:38
virtual Float_t GetTx() const
Definition: EdbSegment.h:41
virtual Float_t GetZ0() const
Definition: EdbSegment.h:40
virtual Float_t GetY0() const
Definition: EdbSegment.h:39
virtual Float_t GetTy() const
Definition: EdbSegment.h:42
Int_t GetPuls() const
Definition: EdbSegment.h:90
Int_t GetNelements() const
Definition: EdbSegment.h:114
Int_t GetID() const
Definition: EdbSegment.h:92
Int_t GetSide() const
Definition: EdbSegment.h:89

◆ Set()

void EdbSegment::Set ( float  x,
float  y,
float  z,
float  tx,
float  ty,
float  dz = 0,
int  side = 0,
int  puls = 0,
int  id = 0 
)
95{
96 EdbSeg3D::Set(x,y,z,tx,ty,dz);
97 eSide = side;
98 ePuls = puls;
99 eID = id;
100}
virtual void Set(float x, float y, float z, float tx, float ty, float dz=0)
UInt_t id
Definition: tlg2couples.C:117

◆ SetID()

void EdbSegment::SetID ( int  id)
inline
96{ eID = id; }

◆ SetIDE() [1/2]

void EdbSegment::SetIDE ( )
inline
103{ SetIDE(GetID()); }
void SetIDE()
Definition: EdbSegment.h:103

◆ SetIDE() [2/2]

void EdbSegment::SetIDE ( int  id)
inline
97 {
98 eID = id;
99 if(eElements)
100 for(int i=0; i<eElements->GetLast()+1; i++)
101 ((EdbCluster*)eElements->At(i))->SetSegment(eID);
102 }
Definition: EdbCluster.h:19

◆ SetPuls()

void EdbSegment::SetPuls ( int  puls)
inline
95{ ePuls = puls; }

◆ SetSide()

void EdbSegment::SetSide ( int  side)
inline
94{ eSide = side; }

◆ SetSigma()

void EdbSegment::SetSigma ( float  sx,
float  sy 
)
inline
85{ eSigmaX=sx; eSigmaY=sy; }

◆ UnSetIDE()

void EdbSegment::UnSetIDE ( )
inline
104 {
105 if(eElements) {
106 for(int i=0; i<eElements->GetLast()+1; i++)
107 if( ((EdbCluster*)eElements->UncheckedAt(i))->GetSegment() == eID )
108 ((EdbCluster*)eElements->UncheckedAt(i))->SetSegment(-1);
109 eElements->Clear();
110 }
111 }

Member Data Documentation

◆ eElements

TObjArray* EdbSegment::eElements
private

◆ eID

Int_t EdbSegment::eID
private

segment identifier

◆ ePuls

Int_t EdbSegment::ePuls
private

puls height (number of grains)

◆ eSide

Int_t EdbSegment::eSide
private

side of the segment location (0-up, 1-down)

◆ eSigmaX

Float_t EdbSegment::eSigmaX
private

dispersion parameter of grains around track line

◆ eSigmaY

Float_t EdbSegment::eSigmaY
private

dispersion parameter of grains around track line


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