TPCdata.f95
contains the complete data structure and procedures
to fill and retrieve signal amplitudes. |
Procedures: |
ReadChannel: |
reads the layout
from file |
FillSignal: |
fill amplitude and T0 of a
pad. The amplitude must be larger than minSignal.
T0 is between 1 and nTbin. |
VoidSignal: |
sets the amplitude of a pad
to -1. |
PadGroup: |
returns the group of a pad |
PadRow: |
returns the row of a pad |
PadLocation: |
returns the location of a pad
(one of 2 places where the location_type of the
pad is hard coded). |
getSignal: |
get amplitude and T0 of a pad. |
getSignalGroup: |
get amplitude and T0 of a group.
In principle different pads of a group can have different
amplitudes. The maximum amplitude and the time of this
pad in returned. |
overflowGroup: |
number of timebins with ADC
overflow in group i. |
getSignalRow: |
get amplitude and T0 of a row.
Sum the amplitudes of groups in this row, T0 is the
amplitude weighted average. |
GmaxSignalRow: |
get group with maximum amplitude
in a row, return its amplitude and T0. |
Neighbour: |
gets the pad numbers to the
left and right. |
AllocArrays: |
allocates the arrays listed
below. |
Parameters:
Layout:
For multiplexing pads are combined in groups which correspond
to the readout channels. Pads with the same value for
the Y position are combined in rows. Multiplexing across
rows is possible. Unless for track fitting rows are not
required, i.e. each pad can have its own row number. |
nPads,nGroups,nRows,nTbin: |
number of pads, groups, rows
and time bins. |
maxPinGroup,maxPinRow,maxGinRow: |
maximum number of pads-in-groups,
pads-in-rows, groups-in-rows. |
nPadsinGroup(nGroups): |
actual number of pads in group i. |
nPadsinRow(nRows): |
actual number of pads in row i. |
nGroupsinRow(nRows): |
actual number of groups in
row i. |
iPadofGroup(maxPinGroup,nGroups): |
list of pads in group i. |
iPadofRow(maxPinRow,nRows): |
list of pads in row i. |
iGroupofRow(maxGinRow,nRows): |
list of groups in row i. |
NumMaps: |
Number of different pad shapes
for Grid_type. |
Event Data:
RunNumber, EventNumber, Time |
IADC(nTbin,nGroups): |
ADC spectrum of nTbin time
bins for all groups. |
ADC(nTbin,nGroups): |
Pedestal subtracted ADC spectrum. |
MCx,MCz0,MCphi,MCtheta: |
Monte Carlo Tree information. |
info(nPads) (PRIVATE): |
information for all pads, is
of type Pad_type |
Pad_type (PRIVATE) : |
contains group, row, amplitude,
T0 and location
location is of a type characterising the pad, i.e. Rectangle_type or Grid_type.
(One of 2 places in the code where the location
type of the pad is specified. Change it here and the
rest takes (hopefully) care of itself). |