17 double in_layer_nominal_radius,
24 , layer_radius(in_layer_nominal_radius)
25 , stave_phi_step(in_phistep)
26 , stave_phi_tilt(in_phitilt)
27 , stave_phi_0(in_phi0)
36 double loc_sensor_in_chip_data[3] = {0.058128, -0.0005, 0.0};
38 for (
int i = 0; i < 3; i++)
45 double inner_loc_chip_in_module_data[9][3] = {
46 {0.0275, -0.02075, -12.060},
47 {0.0275, -0.02075, -9.0450},
48 {0.0275, -0.02075, -6.0300},
49 {0.0275, -0.02075, -3.0150},
50 {0.0275, -0.02075, 0.0},
51 {0.0275, -0.02075, 3.0150},
52 {0.0275, -0.02075, 6.0300},
53 {0.0275, -0.02075, 9.0450},
54 {0.0275, -0.02075, 12.060}};
56 double inner_loc_module_in_halfstave_data[3] = {0.0, 0.0, 0.0};
58 double inner_loc_halfstave_in_stave_data[3] = {-0.0275, 0.01825, 0.0};
60 for (
int i = 0; i < 3; i++)
64 for (
int j = 0; j < 9; j++)
77 double stave_phi_offset =
M_PI / 2.0;
80 TVector3 res = world_location;
127 double phi = atan2(world[1], world[0]);
128 if(phi < 0) phi += 2.0*
M_PI;
136 int chip_tmp =
round(world[2]/chip_delta_z) + 4;
139 stave_index = stave_tmp;
140 chip_index = chip_tmp;
147 double stave_phi_offset =
M_PI / 2.0;
150 TVector3 res = sensor_local;
212 TVector3 in_chip = sensor_local;
225 <<
" Pixel is out sensor. ("
226 << sensor_local.X() <<
", "
227 << sensor_local.Y() <<
", "
228 << sensor_local.Z() <<
")."
231 if (Ngridx < 0 || Ngridx >=
get_NX() || Ngridz < 0 || Ngridz >=
get_NZ())
232 cout <<
PHWHERE <<
"Wrong pixel value X= " << Ngridx <<
" and Z= " << Ngridz << endl;
235 return Ngridx + Ngridz *
get_NX();
240 int Ngridz = NXZ /
get_NX();
241 int Ngridx = NXZ %
get_NX();
251 cout <<
PHWHERE <<
"Pixel coord ( " << iRow <<
", " << iCol <<
" )" <<
"out of range" << endl;
256 local -= trChipToSens;
262 os <<
"CylinderGeom_Mvtx: layer: " <<
layer
264 <<
", N_staves in layer: " <<
N_staves
275 TVector3 sensor_local(0.0, 0.0, 0.0);
279 location[0] = sensor_world.X();
280 location[1] = sensor_world.Y();
281 location[2] = sensor_world.Z();
309 return xbin + zbin *
get_NX();