FEDRA emulsion software from the OPERA Collaboration
EdbSegCouple Class Reference

#include <EdbSegCouple.h>

Inheritance diagram for EdbSegCouple:
Collaboration diagram for EdbSegCouple:

Public Member Functions

float CHI2 () const
 
float CHI2P () const
 
Int_t Compare (const TObject *obj) const
 
 EdbSegCouple ()
 0: chi2p only; 1: N1()*10000+N2()*10000000 + CHI2()/100 More...
 
 EdbSegCouple (const EdbSegCouple &sc)
 
 EdbSegCouple (int id1, int id2)
 
int ID1 () const
 
int ID2 () const
 
Bool_t IsEqual (const TObject *obj) const
 
Bool_t IsSortable () const
 
int N1 () const
 
int N1tot () const
 
int N2 () const
 
int N2tot () const
 
void Print ()
 
void Set0 ()
 
void SetCHI2 (float chi2)
 
void SetCHI2P (float chi2)
 
void SetN1 (int n1)
 
void SetN1tot (int n)
 
void SetN2 (int n2)
 
void SetN2tot (int n)
 
 ~EdbSegCouple ()
 

Static Public Member Functions

static void SetSortFlag (int s=0)
 
static int SortFlag ()
 

Public Attributes

bool eIsOwner
 
EdbSegPeS
 
EdbSegPeS1
 the result of the fit More...
 
EdbSegPeS2
 pointers - useful when all segments are in memory More...
 

Private Attributes

Float_t eCHI2
 
Float_t eCHI2P
 
Int_t eID1
 
Int_t eID2
 
Int_t eN1
 
Int_t eN1tot
 
Int_t eN2
 
Int_t eN2tot
 

Static Private Attributes

static int egSortFlag
 

Constructor & Destructor Documentation

◆ EdbSegCouple() [1/3]

EdbSegCouple::EdbSegCouple ( )

0: chi2p only; 1: N1()*10000+N2()*10000000 + CHI2()/100

◆ EdbSegCouple() [2/3]

EdbSegCouple::EdbSegCouple ( const EdbSegCouple sc)

20 {
21  eID1=sc.eID1;
22  eID2=sc.eID2;
23  eN1=sc.eN1;
24  eN2=sc.eN2;
25  eN1tot=sc.eN1tot;
26  eN2tot=sc.eN2tot;
27  eCHI2=sc.eCHI2;
28  eCHI2P=sc.eCHI2P;
29  if(sc.eS) eS = new EdbSegP( *(sc.eS) );
30  if(sc.eS1) eS1 = new EdbSegP( *(sc.eS1) );
31  if(sc.eS2) eS2 = new EdbSegP( *(sc.eS2) );
32  eIsOwner=sc.eIsOwner;
33 }
EdbSegP * eS
Definition: EdbSegCouple.h:24
Int_t eN1tot
Definition: EdbSegCouple.h:21
EdbSegP * eS2
pointers - useful when all segments are in memory
Definition: EdbSegCouple.h:26
Int_t eN2
Definition: EdbSegCouple.h:20
Int_t eN2tot
Definition: EdbSegCouple.h:21
Int_t eID1
Definition: EdbSegCouple.h:17
Float_t eCHI2P
Definition: EdbSegCouple.h:19
bool eIsOwner
Definition: EdbSegCouple.h:27
Int_t eID2
Definition: EdbSegCouple.h:17
Int_t eN1
Definition: EdbSegCouple.h:20
Float_t eCHI2
Definition: EdbSegCouple.h:18
EdbSegP * eS1
the result of the fit
Definition: EdbSegCouple.h:25
Definition: EdbSegP.h:18

◆ EdbSegCouple() [3/3]

EdbSegCouple::EdbSegCouple ( int  id1,
int  id2 
)
inline
36  { Set0();eID1=id1;eID2=id2; eCHI2=0; eCHI2P=0; eN1=0; eN2=0; }
void Set0()
Definition: EdbSegCouple.cxx:44

◆ ~EdbSegCouple()

EdbSegCouple::~EdbSegCouple ( )

37 {
38  SafeDelete(eS);
39  if(eIsOwner) SafeDelete(eS1);
40  if(eIsOwner) SafeDelete(eS2);
41 }

Member Function Documentation

◆ CHI2()

float EdbSegCouple::CHI2 ( ) const
inline
58 {return eCHI2;}

◆ CHI2P()

float EdbSegCouple::CHI2P ( ) const
inline
59 {return eCHI2P;}

◆ Compare()

int EdbSegCouple::Compare ( const TObject *  obj) const

74 {
75  const EdbSegCouple *seg = (EdbSegCouple *)obj;
76 
77  double f1=0, f2=0;
78 
79  if(SortFlag()==0) {
80  f1=CHI2P();
81  f2=seg->CHI2P();
82  } else {
83  f1 = N1() + N2()*100000 + CHI2P()/1000.;
84  f2 = seg->N1() + seg->N2()*100000 + seg->CHI2P()/1000.;
85  }
86 
87  if (f1>f2)
88  return 1;
89  else if (f1<f2)
90  return -1;
91  else
92  return 0;
93 
94 }
Definition: EdbSegCouple.h:14
static int SortFlag()
Definition: EdbSegCouple.h:50
float CHI2P() const
Definition: EdbSegCouple.h:59
int N1() const
Definition: EdbSegCouple.h:54
int N2() const
Definition: EdbSegCouple.h:55

◆ ID1()

int EdbSegCouple::ID1 ( ) const
inline
52 {return eID1;}

◆ ID2()

int EdbSegCouple::ID2 ( ) const
inline
53 {return eID2;}

◆ IsEqual()

Bool_t EdbSegCouple::IsEqual ( const TObject *  obj) const
inline
63  { return
64  (ID1()==((EdbSegCouple*)obj)->ID1())&&
65  (ID2()==((EdbSegCouple*)obj)->ID2()); }
int ID2() const
Definition: EdbSegCouple.h:53
int ID1() const
Definition: EdbSegCouple.h:52

◆ IsSortable()

Bool_t EdbSegCouple::IsSortable ( ) const
inline
66 { return kTRUE; }

◆ N1()

int EdbSegCouple::N1 ( ) const
inline
54 {return eN1;}

◆ N1tot()

int EdbSegCouple::N1tot ( ) const
inline
56 {return eN1tot;}

◆ N2()

int EdbSegCouple::N2 ( ) const
inline
55 {return eN2;}

◆ N2tot()

int EdbSegCouple::N2tot ( ) const
inline
57 {return eN2tot;}

◆ Print()

void EdbSegCouple::Print ( )

68 {
69  printf("%f \t %f \t %d \t%d \t\t %d \t %d \n",CHI2(),CHI2P(),ID1(),N1(),ID2(),N2() );
70 }
float CHI2() const
Definition: EdbSegCouple.h:58

◆ Set0()

void EdbSegCouple::Set0 ( )

45 {
46  eID1=0;
47  eID2=0;
48  eN1=0;
49  eN2=0;
50  eN1tot=0;
51  eN2tot=0;
52  eCHI2=0;
53  eCHI2P=0;
54  eS=0;
55  eS1=0;
56  eS2=0;
57  eIsOwner=0;
58 }

◆ SetCHI2()

void EdbSegCouple::SetCHI2 ( float  chi2)
inline
44 {eCHI2=chi2;}
Float_t chi2
Definition: testBGReduction_By_ANN.C:14

◆ SetCHI2P()

void EdbSegCouple::SetCHI2P ( float  chi2)
inline
45 {eCHI2P=chi2;}

◆ SetN1()

void EdbSegCouple::SetN1 ( int  n1)
inline
40 {eN1=n1;}

◆ SetN1tot()

void EdbSegCouple::SetN1tot ( int  n)
inline
42 {eN1tot=n;}

◆ SetN2()

void EdbSegCouple::SetN2 ( int  n2)
inline
41 {eN2=n2;}

◆ SetN2tot()

void EdbSegCouple::SetN2tot ( int  n)
inline
43 {eN2tot=n;}

◆ SetSortFlag()

void EdbSegCouple::SetSortFlag ( int  s = 0)
static

62 {
63  egSortFlag=s;
64 }
static int egSortFlag
Definition: EdbSegCouple.h:30
EdbSegP * s
Definition: tlg2pattern.C:32

◆ SortFlag()

static int EdbSegCouple::SortFlag ( )
inlinestatic
50 {return egSortFlag;}

Member Data Documentation

◆ eCHI2

Float_t EdbSegCouple::eCHI2
private

◆ eCHI2P

Float_t EdbSegCouple::eCHI2P
private

◆ egSortFlag

int EdbSegCouple::egSortFlag
staticprivate

◆ eID1

Int_t EdbSegCouple::eID1
private

◆ eID2

Int_t EdbSegCouple::eID2
private

◆ eIsOwner

bool EdbSegCouple::eIsOwner

◆ eN1

Int_t EdbSegCouple::eN1
private

◆ eN1tot

Int_t EdbSegCouple::eN1tot
private

◆ eN2

Int_t EdbSegCouple::eN2
private

◆ eN2tot

Int_t EdbSegCouple::eN2tot
private

◆ eS

EdbSegP* EdbSegCouple::eS

◆ eS1

EdbSegP* EdbSegCouple::eS1

the result of the fit

◆ eS2

EdbSegP* EdbSegCouple::eS2

pointers - useful when all segments are in memory


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