#include <EdbVertexSpace.h>
//////////////////////////////////////////////////////////////////////// // EdbVertexSpace // // Class for fast vertex check // // ////////////////////////////////////////////////////////////////////////
◆ EdbVertexSpace()
EdbVertexSpace::EdbVertexSpace |
( |
float |
vmin[3], |
|
|
float |
vmax[3], |
|
|
float |
bin[3] |
|
) |
| |
18{
19 for(int i=0; i<3; i++) {
23 eNcell[i] = (int)( (vmax[i]-vmin[i])/bin[i] );
24 }
25
28 if(N>10e9) { printf("N is too big - no space...\n"); return; }
29
31 return;
32}
Int_t eNcell[3]
number of cells in each dimension
Definition: EdbVertexSpace.h:25
TObjArray * eCells
Definition: EdbVertexSpace.h:27
Float_t eVmin[3]
Volume limits:
Definition: EdbVertexSpace.h:20
Float_t eVmax[3]
x,y,z of max point
Definition: EdbVertexSpace.h:21
Float_t eBin[3]
xyz bin sizes
Definition: EdbVertexSpace.h:23
◆ ~EdbVertexSpace()
virtual EdbVertexSpace::~EdbVertexSpace |
( |
| ) |
|
|
inlinevirtual |
◆ AddTrackLine()
void EdbVertexSpace::AddTrackLine |
( |
float |
x1[3], |
|
|
float |
x2[3], |
|
|
int |
id |
|
) |
| |
36{
37 float zstep =
eBin[2];
38
39 int nstep = (int)((x2[2]-x1[2])/zstep);
40
41 for(int i=0; i<nstep; i++) {
42 }
43}
◆ Cycle()
void EdbVertexSpace::Cycle |
( |
| ) |
|
47{
48 int ii[26];
49 int jj[26];
50 int kk[26];
51
52 int ind=0;
53 for(int i=-1; i<2; i++)
54 for(int j=-1; j<2; j++)
55 for(int k=-1; k<2; k++) {
56 if( i==0&&j==0&&k==0 ) continue;
57 ii[ind]=i;
58 jj[ind]=j;
59 kk[ind]=k;
60 ind++;
61 }
62
65 printf("cycle: %d\n",n);
66
67 for(
int i=1; i<
eNcell[0]-1; i++)
68 for(
int j=1; j<
eNcell[1]-1; j++)
69 for(
int k=1; k<
eNcell[2]-1; k++) {
71 if(
eCells->UncheckedAt(ind) ) printf(
"ops: %d\n",ind);
72
73 for(int i2=0; i2<26; i2++) {
74 ind =
77 (k+kk[i2]);
78 if(
eCells->UncheckedAt(ind) ) printf(
"ops: %d\n",ind);
79 }
80 }
81}
◆ eBin
Float_t EdbVertexSpace::eBin[3] |
|
private |
◆ eCells
TObjArray* EdbVertexSpace::eCells |
|
private |
◆ eNcell
Int_t EdbVertexSpace::eNcell[3] |
|
private |
number of cells in each dimension
◆ eVmax
Float_t EdbVertexSpace::eVmax[3] |
|
private |
◆ eVmin
Float_t EdbVertexSpace::eVmin[3] |
|
private |
Volume limits:
x,y,z of min point
The documentation for this class was generated from the following files: