19 double in_layer_nominal_radius,
24 , N_staves(in_N_staves)
26 , layer_radius(in_layer_nominal_radius)
27 , stave_phi_step(in_phistep)
28 , stave_phi_tilt(in_phitilt)
29 , stave_phi_0(in_phi0)
38 double loc_sensor_in_chip_data[3] = {0.058128, -0.0005, 0.0};
40 for (
int i = 0;
i < 3;
i++)
47 double inner_loc_chip_in_module_data[9][3] = {
48 {0.0275, -0.02075, -12.060},
49 {0.0275, -0.02075, -9.0450},
50 {0.0275, -0.02075, -6.0300},
51 {0.0275, -0.02075, -3.0150},
52 {0.0275, -0.02075, 0.0},
53 {0.0275, -0.02075, 3.0150},
54 {0.0275, -0.02075, 6.0300},
55 {0.0275, -0.02075, 9.0450},
56 {0.0275, -0.02075, 12.060}};
58 double inner_loc_module_in_halfstave_data[3] = {0.0, 0.0, 0.0};
60 double inner_loc_halfstave_in_stave_data[3] = {-0.0275, 0.01825, 0.0};
62 for (
int i = 0;
i < 3;
i++)
66 for (
int j = 0;
j < 9;
j++)
91 return TVector3(local(0), local(2) * -1, local(1));
98 double phi = atan2(world[1], world[0]);
99 if(phi < 0) phi += 2.0*M_PI;
107 int chip_tmp =
round(world[2]/chip_delta_z) + 4;
110 stave_index = stave_tmp;
111 chip_index = chip_tmp;
118 actslocal(0) = local.X();
119 actslocal(1) = local.Y();
145 return TVector3(glob(0), glob(1), glob(2));
164 TVector3 in_chip = sensor_local;
177 <<
" Pixel is out sensor. ("
178 << sensor_local.X() <<
", "
179 << sensor_local.Y() <<
", "
180 << sensor_local.Z() <<
")."
183 if (Ngridx < 0 || Ngridx >=
get_NX() || Ngridz < 0 || Ngridz >=
get_NZ())
184 cout <<
PHWHERE <<
"Wrong pixel value X= " << Ngridx <<
" and Z= " << Ngridz << endl;
187 return Ngridx + Ngridz *
get_NX();
192 int Ngridz = NXZ /
get_NX();
193 int Ngridx = NXZ %
get_NX();
203 cout <<
PHWHERE <<
"Pixel coord ( " << iRow <<
", " << iCol <<
" )" <<
"out of range" << endl;
208 local -= trChipToSens;
214 os <<
"CylinderGeom_Mvtx: layer: " <<
layer
216 <<
", N_staves in layer: " <<
N_staves
227 TVector2 sensor_local(0.0, 0.0);
231 location[0] = sensor_world.X();
232 location[1] = sensor_world.Y();
233 location[2] = sensor_world.Z();
261 return xbin + zbin *
get_NX();