The SILC DUT is a stack of 8 silicon sensors surrounded by the telescope.
The spacing between each of the 8 layers is 20mm. Seen with the beam, the fourth layer is exactly centered
between the telescope legs. This means that the stack as a whole is not exactly centered, as there is no
'center' module with an even number of layers. Please refer to drawings "telecope_single_dut.gif" and
"telescope_8_dut.gif" below.
Each sensor has 256 strips, which are read out by 2 APV25 chips. The numbering order of the modules follows the
beam direction (see drawing "silc_dut_stack_beam.jpg"). Modules will have the connector (and thus APV25 hybrid)
at the top as shown in the photos. The numbering scheme within one module is shown in drawing
"silc_dut_beam.jpg": Looking with the beam, strips are numbered from right to left. The strip pitch is 50um
everywhere.
The APVDAQ software works on APV25 level for the data acquisition, where raw data is saved. In that case, the
APVs are consecutively numbered 0,1 (=module 0), 2,3 (=module 1), 4,5 (=module 2), ... ,14,15 (=module 7).
In later steps of the analysis, data are presented on a module [0..7] / strip [0..511] base.
Zone numbers were removed, now everything is zone=1.
(Zone 0 is a reserved value and hence the actual zone counting starts with 1.)
The 256 strips are divided into 16 groups of 16 strips each with different strip width and intermediate strips,
according to the table below:
pplus strip number of
width intermediate
group# strips [µm] strips
0 16 6 none
1 16 10 none
2 16 12.5 none
3 16 15 none
4 16 20 none
5 16 25 none
6 16 6 single
7 16 7.5 single
8 16 10 single
9 16 12.5 single
10 16 15 single
11 16 17.5 single
12 16 6 double
13 16 7.5 double
14 16 10 double
15 16 12.5 double
Please note that the strip pitch is 50µm everywhere, but between each group there is a gap of a single missing
strip. Hence, when calculating the coordinate from the strip number, one must take those distinctive gaps into
account.
We assume that we have a fractional strip position, where the fraction denotes (e.g.) the center of gravity of
the cluster. In order to convert this into a coordinate, we can use the following approach (where s is the
(fractional) strip number and x ist the fractional coordinate [µm]):
/* *** tested and works *** */
double strip2x(double strip)
{
unsigned short ints;
// this is the integral part of the strip number
ints = (unsigned short) strip;
return ( 50.0 * ( strip + ( ints >> 4 ) ) + ( ( (ints+1) & 15 ) ? 0.0 : ( strip - ints ) * 50.0 ) );
// pitch strip
// gaps between zones
// outside gap ? do nothing
// account for double pitch within gap
} |