CERN home page CERN home page Consult pages Consult pages Writeups at CERN Writeups at CERN Garfield pages Garfield pages Help Help &SIGNAL &SIGNAL Table of contents Keyword index

&SIGNAL


overview

The instructions of the signal section fall in 5 categories:

Setting parameters:

Command Short description
AREA Sets the size of the plotting area
AVALANCHE Sets the avalanche model
FOURIER Number of Fourier terms (periodic cells)
GRID Grid density for PLOT-FIELD
INTEGRATION-PARAMETERS Drift line integration parameters
OPTIONS Various printing and plotting options
RESET Resets one or more aspects of the signals
SELECT Establishes the list of sense wires
TRACK Sets the track for which a signal is generated
WINDOW Sets the time window of the signals

Computing and processing a signal:

Command Short description
ADD-NOISE Adds noise to the signals
CONVOLUTE-SIGNALS Convolutes signals with a transfer function
PLOT-SIGNALS Plots the signals
SIGNAL Simulates a signal
WRITE-SIGNALS Stores a signal in a dataset

Service instructions:

Command Short description
PREPARE-TRACK Prepare a track for interpolation
GET-TRACK Retrieve a a prepared track from a dataset
WRITE-TRACK Save a prepared track in a dataset

Debugging instructions:

Command Short description
CHECK Verify proper functioning
PLOT-FIELD Plots the signal induction field

Note: There are procedures that perform signal related tasks: ADD_SIGNALS, GET_RAW_SIGNAL, GET_SIGNAL, INDUCED_CHARGE, LIST_RAW_SIGNALS, STORE_SIGNAL, THRESHOLD_CROSSING, WEIGHTING_FIELD and WEIGHTING_FIELD_3.


ADD-NOISE

This statement is meant to add noise to the signals, but it can be used to add other things to the signal too.

The noise function is evaluated separately for each wire, but the same noise is added to the direct and cross-induced parts of the signals.

It is permissible to use the ADD-NOISE command before any signal has been computed, but the time WINDOW must have been set beforehand.

Format:

ADD-NOISE NOISE-FUNCTION function

Example:

ADD-NOISE NOISE-FUNCTION -0.01*RND_POISSON(30)

In this example, the RND_POISSON generator is used to add to each of the sampling points a Poisson distributed number with mean 30, multiplied by -0.01.

Additional information on:
   
 


AREA

Changes the area in which electrons and ions are allowed to drift. This is also the part of the chamber that is plotted.

Formats:

See the AREA command of the field section.


AVALANCHE

Chooses the type of avalanche to be used in the simulation.

No default type of avalanche is set - you must therefore issue an AVALANCHE command prior to any signal calculation.

Only avalanches generated by electrons that hit an electrode (a wire, a plane, the tube, a solid) are affected by this statement. In particular, avalanches in a field map for which no solids have been defined, are not affected by this statement.

Format:

AVALANCHE {EXPONENTIAL mean | ...
           FIXED factor | ...
           FIXED-TOWNSEND | ...
           GAUSSIAN mean relative_sigma | ...
           POLYA-FIXED [mean [theta]] | ...
           POLYA-TOWNSEND [theta] | ...
           TOWNSEND}

Examples:

aval exp 1e4
aval townsend

Additional information on:
   
 


CHECK

A debugging instruction, checking signal related routines.

Format:

CHECK [AVALANCHE] ...
      [DIFFUSION] ...
      [CLUSTER] ...
      [RANGE min max] ...
      [FROM x y] ...
      [N n] ...
      [BINS nbin]

Example:

CH AVALANCHE FROM 5 6 BINS 50

CONVOLUTE-SIGNALS

Once SIGNAL has computed the currents induced in the electrodes of the chamber, they would normally be written out with WRITE-SIGNALS for further processing by programs like Spice.

Signal processing in Garfield is limited to convoluting the induced currents with transfer functions and to addition of certain types of noise with ADD-NOISE.

The CONVOLUTE-SIGNALS command convolutes all signals that are available at the moment the command is issued, with the transfer function that is specified. You may issue several of these commands in succession.

The transfer function is only evaluated once for all signals. The transfer function should therefore not depend on random number generators.

It is permissible to use the CONVOLUTE-SIGNALS command before any signal has been computed, e.g. in order to process noise, but the time WINDOW must have been set beforehand.

Format:

CONVOLUTE-SIGNALS ...
     TRANSFER-FUNCTION { function  |  transfer VS time } ...
     [ADD-ON-FUNCTION add] ...
     RANGE tmin tmax

Example:

convolute-signals ...
     transfer-function 250*(6*t/0.025)**6*exp(-6*t/0.025) ...
     range 0 2000

(This example, taken from an Atlas muon tube study, simulates the response of a pre-amplifier.)

Additional information on:
   
 


FOURIER

In periodic cells, the accuracy of the signal calculation depends amongst others on the number of periods taken into account. A high number of periods only leads to improved precision though if there are equipotential planes in the cell. The number of terms must be an integral power of 2 [default: 1 term].

Format:

FOURIER terms

Example:

FOURIER 16

(Note that this setting may require a fantastic amount of disk I/O !)


GET-TRACK

Retrieves a prepared track from a dataset with WRITE-TRACK.

Format:

See the GET-TRACK command in the drift section.


GRID

Sets the density of sampling points on the grid. This number is usually of the order of 25 for vector plots like those made in response to the PLOT-FIELD instruction.

The grid is common to all sections.

Format:

GRID  number_of_steps_in_x  [number_of_steps_in_y]

Example:

GRID 25 15

Additional information on:
   
 


INTEGRATION-PARAMETERS

See the INTEGRATION-PARAMETERS command in the drift section.

OPTIONS

In addition to the top level OPTIONS, and the OPTIONS of the drift section, the following options related to signal calculations are available:

Format:

OPTIONS [ CLUSTER-PRINT | NOCLUSTER-PRINT ] ...
        [ CLUSTER-PLOT | NOCLUSTER-PLOT ] ...
        [ CONTOUR-ALL-MEDIA | CONTOUR-DRIFT-MEDIUM ] ...
        [ NOWIRE-MARKERS | WIRE-MARKERS ] ...
        [ NOCHECK-MAP-INDICES | CHECK-MAP-INDICES ]

Example:

OPT NOCLUSTER-PRINT

Additional information on:
   


PLOT-FIELD

Plots quantities related to signal computations in various ways, such as vector diagrams, a graph, a surface plot and an histogram.

The main quantities of interest in this context are the so-called weighting_field and the charges induced in an electrode by electrons and ions drifting from a given point.

The weighting field and the induced charge are plotted seperately for each electrode that is read out. You can however limit the set of plots to a subset of electrodes.

There are related instructions in the field and drift sections.

Format:

PLOT-FIELD [CONTOUR [f1]   [RANGE {cmin cmax | AUTOMATIC}] ...
                           [N n] ...
                           [LABELS | NOLABELS]] ...
           [GRAPH [f2]     [ON f_curve] ...
                           [N n]] ...
                           [SCALE min max] ...
                           [NOPRINT | PRINT] ...
           [HISTOGRAM [f3] [RANGE {hmin hmax | AUTOMATIC}] ...
                           [BINS nbin]] ...
           [SURFACE [f4]   [ANGLES phi theta]] ...
           [VECTOR [f5 f6]] ...
           [GROUP {ALL | sense }] ...
           [TIME-WINDOW tmin tmax] ...
           [RUNGE-KUTTA-DRIFT-LINES | MONTE-CARLO-DRIFT-LINES]

If you don't manage to fit all this on a single line, remember that lines that end on an ellipsis are continued on the next.

Examples:

plot-field hist status_e vector surf cont
plot-field contour time_ion range 1000 3000

(The first example makes most of the plots using default functions and ranges - useful as a first call. The result will be an histogram that shows where electrons end up, a vector plot of the weighting field and a contour plot of the currents induced by single electrons released from the various locations. The second example makes a contour plot of the ion drift time.)

Additional information on:
   


PLOT-SIGNALS

Plots the signals. The graphs contain either one or two curves, depending on whether cross induced currents have been computed or not.

Format:

PLOT-SIGNALS [TIME-WINDOW {AUTOMATIC | tmin tmax}] ...
             [RANGE {AUTOMATIC | smin smax}] ...
             [WIRES {ALL | ACTIVE | numbers, labels}] ...
             [CROSS-INDUCED-SIGNALS | NOCROSS-INDUCED-SIGNALS] ...
             [DIRECT-SIGNALS | NODIRECT-SIGNALS]

Example:

pl-sig time 2.7 3.1 wire 1

Plots the signal on wire 1 in the time window [2.7,3.1] microsec.

Additional information on:
   


PREPARE-TRACK

Track preparation is a required step when using the INTERPOLATE-TRACK option of the SIGNAL command.

Format:

See PREPARE-TRACK in the drift section.


REPEAT

+---------------------+
| Statement withdrawn |
+---------------------+

The REPEAT statement used to tell the SIGNAL command that you wish to repeat the calculation several times.

Old format:        New format:

REPEAT 100 For i From 1 To 100 Do SIGNAL SIGNAL Enddo


RESET

Resets selectively the signals, the time window, the avalanche model and the signal matrices.

If the statement is issued without arguments, then all elements are reset.

Format:

RESET   [AVALANCHE-MODEL] ...
        [MATRICES] ...
        [SIGNALS] ...
        [WINDOW]

Additional information on:
   


RESOLUTION

This command has been renamed WINDOW.

SELECT

Selects and groups the electrodes which are to be handled specially. The selection is common to all sections, but the interpretation of the selection is left to the individual instructions.

In this section, the grouping is relevant: the signals for electrodes in a single group are summed.

The ADD option of the SIGNAL command can not be used on the first signal that is computed after a SELECT command.

Format:

See SELECT

Example:

SEL (1 S) 2 F

(Put wire 1 together with all S wires in one group, make wire 2 a group of its own and do the same for each of the F wires.)


SIGNAL

This instruction computes the signals on the electrodes in the chamber that result from the passage of a charged particle.

Before issuing a SIGNAL instruction, one has to

Further, it is advisable to use the CLUSTER-PLOT option for the first few signals to verify that the AREA is sufficiently large, and that the INTEGRATION-PARAMETERS are properly set.

Signals can be further processed externally with electronics simulation programs (WRITE-SIGNALS). Inside Garfield, one can do basic signal manipulations such as convolution with transfer functions (CONVOLUTE-SIGNALS), adding noise (ADD-NOISE) and determining threshold crossings (THRESHOLD_CROSSING).

Garfield distinguishes two kinds of signals: the "direct" and the "cross induced" signals. Direct signals arise from an avalanche on a read-out electrode. These signals are always computed. Cross induced (or indirect) signals are all other currents induced by moving charges anywhere in the chamber. These signals are only computed on request.

Use ADD_SIGNALS to compute the currents and use INDUCED_CHARGE to compute the charge induced by a single charged particle.

Format:

SIGNAL [ANGULAR-INTEGRATION-POINTS n_angle] ...
       [ANGULAR-SPREAD {f_angle | FLAT} | NOANGULAR-SPREAD] ...
       [ATTACHMENT | NOATTACHMENT] ...
       [AVALANCHE | NOAVALANCHE] ...
       [AVERAGE-SIGNAL n_average | SAMPLE-SIGNAL] ...
       [DIFFUSION | NODIFFUSION] ...
       [ELECTRON-PULSE | NOELECTRON|PULSE] ...
       [INTERPOLATION-ORDER n_order] ...
       [ION-ANGLES {n_ion | NOSAMPLING}] ...
       [ION-TAIL | DETAILED-ION-TAIL | ...
        NONSAMPLED-ION-TAIL | NOION-TAIL] ...
       [ION-THRESHOLD thr] ...
       [RUNGE-KUTTA-DRIFT-LINES | MONTE-CARLO-DRIFT-LINES] ...
       [NEW | ADD] ...
       [NOCROSS-INDUCED | CROSS-INDUCED] ...
       [NOINTERPOLATE-TRACK | INTERPOLATE-TRACK]

Example:

SIGNAL CROSS-INDUCED

Additional information on:
   


THRESHOLD

This instruction is withdrawn, use the ARRIVAL-TIME-DISTRIBUTION instruction from the drift section instead.

TRACK

Specifies the kind of particle and the place where it traverses the chamber.

The track is shared between commands from nearly all sections.

Please verify both the location and the clustering model before starting a signal calculation. Some clustering models used elsewhere, e.g. a fixed number of single-electron deposits on each track, are not meaningful in the signal section.

Format:

See TRACK

Examples:

track 0 1 2 0 2 4 exp
track 0 1 2 0 2 4 muon energy 10 GeV

The track in both examples runs from (0,1,2) to (0,2,4). In the first example, the cluster spacing will be exponential and the cluster size will be derived from the data entered in the gas section. In the second example, Heed takes care of generating the clusters. Enters the size and granularity of time window in which you want to study the signals.


WINDOW

By default, signals start at t=0 and are sampled every 0.01 microsec. The number of samples is by default MXLIST, usually 200 or 1000 depending on the compilation flags that were selected.

The WINDOW command resets the signals to zero. The ADD option of the SIGNAL command can not be used on the first signal that is computed after a WINDOW command.

Format:

WINDOW t_start t_step  [n_step]

Example:

WINDOW 0.5 0.01 200

(This is a proper setting if your signals never start before 0.5 microsec and decay almost fully before 0.5+200*0.01=2.5 microsec.)


WRITE-SIGNALS

Writes the current set of signals to a dataset for further processing with programs like Spice.

Writing is done when the command is executed, not while the SIGNAL command runs as in versions of Garfield prior to 5.20.

Format:

WRITE-SIGNALS [DATASET file [member]] [REMARK remark] ...
              [FORMAT {SPICE | SCEPTRE}] ...
              [WRITE-IF condition] ...
              [UNITS units]

If you don't manage to fit all this on a single line, remember that lines that end on an ellipsis are continued on the next.

Example:

WR-SIG 'disk$scratch:[pubzh.work.garfield]signal.dat'

Additional information on:
   


WRITE-TRACK

Writes the prepared track to a dataset.

Format:

See the WRITE-TRACK command in the drift section.


Go to the top level, to &SIGNAL, to the topic index, to the table of contents, or to the full text.

Formatted on 15/01/01 at 23:07.