5 #include "Randomize.hh" 29 Z0.push_back(-127.000);
Z0.push_back(-127.000);
30 Z0.push_back(-148.000);
Z0.push_back(-148.000);
31 Z0.push_back(-172.500);
Z0.push_back(-172.500);
34 DZ.push_back(370.5);
DZ.push_back(370.5);
35 DZ.push_back(420.1);
DZ.push_back(420.1);
36 DZ.push_back(444.6);
DZ.push_back(444.6);
61 vector<double> strip_id;
64 Nel = (int) (1e6*Edep/
w_i);
68 if(x>0 && y>=0) phi = atan(y/x);
69 else if(x>0 && y<0) phi = 2.*
Pi+atan(y/x);
70 else if(x<0) phi =
Pi+atan(y/x);
71 else if(x==0 && y>0) phi =
Pi/2.;
72 else if(x==0 && y<0) phi = 3.*
Pi/2.;
81 if(theta_tmp>2.*
Pi) theta_tmp = theta_tmp - 2.*
Pi;
82 if(theta_tmp<0) theta_tmp = theta_tmp + 2.*
Pi;
83 if(fabs(phi-theta_tmp)<
Pi/Nsector || fabs(2.*
Pi-fabs(phi-theta_tmp))<
Pi/Nsector) ti=t;
87 if(phi-phiij<=-
Pi/Nsector) phi = phi+2.*
Pi;
88 if(phi-phiij>
Pi/Nsector) phi = phi-2.*
Pi;
89 if(phi-phiij<=-Pi/Nsector || phi-phiij>
Pi/Nsector) cout <<
"WARNING: incorrect phi value in BMT: " << phi*180./
Pi <<
" vs " << phiij*180./
Pi << endl;
98 for(
int iel=0;iel<
Nel;iel++)
112 for(
int istrip=0;istrip< (int) (strip_id.size()/2);istrip++)
114 if(strip_id[2*istrip]==ClosestStrip)
116 strip_id[2*istrip+1]=strip_id[2*istrip+1]+1./((double) Nel);
122 strip_id.push_back(ClosestStrip);
123 strip_id.push_back(1./((
double) Nel));
128 strip_id.push_back(-1);
129 strip_id.push_back(1);
135 strip_id.push_back(-1);
136 strip_id.push_back(1);
vector< double > FindStrip(int layer, int sector, double x, double y, double z, double Edep)