FEDRA emulsion software from the OPERA Collaboration
EdbSegmentCut Class Reference

#include <EdbSegmentCut.h>

Inheritance diagram for EdbSegmentCut:
Collaboration diagram for EdbSegmentCut:

Public Member Functions

const char * CutLine (char *str, int i=0, int j=0) const
 
 EdbSegmentCut ()
 
 EdbSegmentCut (int xi, float var[10])
 
float Max (int i) const
 
float Min (int i) const
 
int PassCut (float var[5])
 
int PassCutI (float var[5])
 
int PassCutX (float var[5])
 
void Print ()
 
void SetMax (float max[5])
 
void SetMin (float min[5])
 
void SetXI (int xi)
 
int XI () const
 
virtual ~EdbSegmentCut ()
 

Private Attributes

Float_t eMax [5]
 max x:y:tx:ty:puls More...
 
Float_t eMin [5]
 min x:y:tx:ty:puls More...
 
Int_t eXI
 0-exclusive; 1-inclusive cut More...
 

Constructor & Destructor Documentation

◆ EdbSegmentCut() [1/2]

EdbSegmentCut::EdbSegmentCut ( )
inline
14{}

◆ EdbSegmentCut() [2/2]

EdbSegmentCut::EdbSegmentCut ( int  xi,
float  var[10] 
)

◆ ~EdbSegmentCut()

virtual EdbSegmentCut::~EdbSegmentCut ( )
inlinevirtual
16{}

Member Function Documentation

◆ CutLine()

const char * EdbSegmentCut::CutLine ( char *  str,
int  i = 0,
int  j = 0 
) const

37{
38 if(eXI==0) {
39
40 sprintf(str,
41 " TCut x%1d%2.2d = \"!(eX0>%f&&eX0<%f && eY0>%f&&eY0<%f && eTx>%f&&eTx<%f && eTy>%f&&eTy<%f && ePuls>%f&&ePuls<%f)\";\n"
42 ,i,j,eMin[0],eMax[0], eMin[1],eMax[1], eMin[2],eMax[2], eMin[3],eMax[3], eMin[4],eMax[4]);
43
44 } else if(eXI==1) {
45
46 sprintf(str,
47 " TCut i%1d%2.2d = \"(eX0>%f&&eX0<%f && eY0>%f&&eY0<%f && eTx>%f&&eTx<%f && eTy>%f&&eTy<%f && ePuls>%f&&ePuls<%f)\";\n"
48 ,i,j,eMin[0],eMax[0],eMin[1],eMax[1],eMin[2],eMax[2],eMin[3],eMax[3],eMin[4],eMax[4]);
49 }
50 return str;
51}
Int_t eXI
0-exclusive; 1-inclusive cut
Definition: EdbSegmentCut.h:9
Float_t eMax[5]
max x:y:tx:ty:puls
Definition: EdbSegmentCut.h:11
Float_t eMin[5]
min x:y:tx:ty:puls
Definition: EdbSegmentCut.h:10

◆ Max()

float EdbSegmentCut::Max ( int  i) const
inline
23{return eMax[i];}

◆ Min()

float EdbSegmentCut::Min ( int  i) const
inline
22{return eMin[i];}

◆ PassCut()

int EdbSegmentCut::PassCut ( float  var[5])

17{
18 if (eXI==0) return PassCutX(var);
19 else if(eXI==1) return PassCutI(var);
20 return 0;
21}
int PassCutX(float var[5])
Definition: EdbSegmentCut.cxx:24
int PassCutI(float var[5])
Definition: EdbSegmentCut.cxx:54

◆ PassCutI()

int EdbSegmentCut::PassCutI ( float  var[5])

inclusive cut: if var is inside cut volume - return 1

55{
57
58 for(int i=0; i<5; i++) {
59 if(var[i]<eMin[i]) return 0;
60 if(var[i]>eMax[i]) return 0;
61 }
62 return 1;
63}

◆ PassCutX()

int EdbSegmentCut::PassCutX ( float  var[5])

exclusive cut: if var is inside cut volume - return 0

25{
27
28 for(int i=0; i<5; i++) {
29 if(var[i]<eMin[i]) return 1;
30 if(var[i]>eMax[i]) return 1;
31 }
32 return 0;
33}

◆ Print()

void EdbSegmentCut::Print ( )

67{
68 printf("min: %f %f %f %f %f\n",eMin[0], eMin[1], eMin[2], eMin[3], eMin[4] );
69 printf("max: %f %f %f %f %f\n",eMax[0], eMax[1], eMax[2], eMax[3], eMax[4] );
70}

◆ SetMax()

void EdbSegmentCut::SetMax ( float  max[5])
inline
20{ for(int i=0;i<5;i++) eMax[i]=max[i]; }
int max
Definition: check_shower.C:41

◆ SetMin()

void EdbSegmentCut::SetMin ( float  min[5])
inline
19{ for(int i=0;i<5;i++) eMin[i]=min[i]; }
float min(TClonesArray *t)
Definition: bitview.cxx:275

◆ SetXI()

void EdbSegmentCut::SetXI ( int  xi)
inline
18{eXI=xi;}

◆ XI()

int EdbSegmentCut::XI ( ) const
inline
21{return eXI;}

Member Data Documentation

◆ eMax

Float_t EdbSegmentCut::eMax[5]
private

max x:y:tx:ty:puls

◆ eMin

Float_t EdbSegmentCut::eMin[5]
private

min x:y:tx:ty:puls

◆ eXI

Int_t EdbSegmentCut::eXI
private

0-exclusive; 1-inclusive cut


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